From unknown Sat Jun 21 03:29:32 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#67008 <67008@debbugs.gnu.org> To: bug#67008 <67008@debbugs.gnu.org> Subject: Status: 30.0.50; Multiple major mode parents Reply-To: bug#67008 <67008@debbugs.gnu.org> Date: Sat, 21 Jun 2025 10:29:32 +0000 retitle 67008 30.0.50; Multiple major mode parents reassign 67008 emacs submitter 67008 Stefan Monnier severity 67008 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 09 00:40:43 2023 Received: (at submit) by debbugs.gnu.org; 9 Nov 2023 05:40:44 +0000 Received: from localhost ([127.0.0.1]:46548 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0xmV-0001cb-7f for submit@debbugs.gnu.org; Thu, 09 Nov 2023 00:40:43 -0500 Received: from lists.gnu.org ([2001:470:142::17]:55120) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0xmQ-0001cD-Dx for submit@debbugs.gnu.org; Thu, 09 Nov 2023 00:40:42 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r0xlh-0007Tv-Ey for bug-gnu-emacs@gnu.org; Thu, 09 Nov 2023 00:39:53 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r0xla-00037n-HF for bug-gnu-emacs@gnu.org; Thu, 09 Nov 2023 00:39:53 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id EEBBB100126 for ; Thu, 9 Nov 2023 00:39:44 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1699508384; bh=K8FvNRU3PLG1dX6T0r7DvbvJICpaX4rdvdn1Mz65fLg=; h=From:To:Subject:Date:From; b=Cfg+OGYqXFLqPZmS/iH7u6izjdyup9jHNRLAqx60DinurQaDVQTKQDdl/dQ0lQZbS ySK5AMG+uDjoSdQTpt68zOG1YK5om/odH/1F+LGmg/F/W9E6ECwAFBH5vhZ/RagZP5 6N5xqLyUXLxrJz500jk6mvgLwgYZw15020eaLdORfnlrdYC1Wa90eNxAPSRyd+0tdY O0NAfeV3C8svvzq7BaN4TYXDTGeca8YrEUAqXKMxs+B0Oia8/UQRaUfuvOo+B5vMp6 D8OgcQJK6L8ONiGc4TAMcqt74YqVpSWDUKLyl9ATh9lqVmpqACb6yJ3EqZ77ufKWDk XBu50zndx7s4g== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 07F05100068 for ; Thu, 9 Nov 2023 00:39:44 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E54691203D4 for ; Thu, 9 Nov 2023 00:39:43 -0500 (EST) From: Stefan Monnier To: bug-gnu-emacs@gnu.org Subject: 30.0.50; Multiple major mode parents X-Debbugs-Cc: Ikumi Keita Date: Thu, 09 Nov 2023 00:38:22 -0500 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.260 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain KAM_LOTSOFHASH 0.25 Emails with lots of hash-like gibberish T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: 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_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_HELO_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Package: Emacs Version: 30.0.50 While it seems difficult to add support for multiple inheritance to `define-derived-mode`, it's fairly easy to allow a major mode to declare itself the spiritual heir of various other major modes beside the one from which it actually inherits. We already have some very basic such cases in our own code: - `locate-mode` inherits from `special-mode` but declares itself as a child of `dired-mode`. - CEDET declares that `c++-mode` is a child of `c-mode`. I'd been toying with this idea for a while because it has seemed useful a few times, tho until now there seemed to be good enough alternatives. But in order to really support AUCTeX modes well, we do need such a thing: we need `LaTeX-mode` to be able to declare itself as a child of `latex-mode` (even tho it does not inherit from it) so that directory-local variables are properly applied to it, which is a fairly common use case. I pushed to the branch `feature/derived-mode-add-parents` a bunch of patches which add support for such limited form of `multiple inheritance`. The patch is fairly large because it goes through all the code that uses the `derived-mode-parent` property and adjusts it to use a few new functions: - `derived-mode-set-parent` and `derived-mode-all-parents` cover basically all previous uses of the `derived-mode-parent` property. - `derived-mode-add-parents` to declare additional parents. The patch also consolidates the code that linearizes the inheritance hierarchy of CL classes, EIEIO classes, and major modes. You can see below the corresponding commit log. There are no doc (or etc/NEWS) changes yet. Any comment/objection? Stefan commit 19445b6b7bb04e44e39ef2e39a620bd3eadb0acd Author: Stefan Monnier Date: Wed Nov 8 11:32:27 2023 -0500 subr.el: Provide a functional API around `derived-mode-parent` The `derived-mode-parent` property should be an implementation detail, so we can change it more easily. To that end, add functions to set and query it. * lisp/subr.el (derived-mode-all-parents): New function. (provided-mode-derived-p): Use it. (derived-mode-set-parent): New function. commit 9c6b22bb3e2126a1ab355b81ae4268ac53c2b6fe Author: Stefan Monnier Date: Wed Nov 8 14:20:09 2023 -0500 (derived-mode-all-parents): Speed up with a cache Most uses of the mode hierarchy don't really need to construct the list, they just need to iterate over it. With single inheritance we could do it just by jumping up from a mode to its parent, but to support the upcoming multiple inheritance we'd need a more complex and costly iterator. Luckily, the inheritance graph is mostly static so we can cache the list of all parents, making `derived-mode-all-parents` cheap enough to be the basis of iteration and keeping the API very simple. * lisp/subr.el (derived-mode-all-parents): Cache the result. (derived-mode--flush): New function. (derived-mode-set-parent): Use it. commit 492920dd5b469e18596a49a62fbefd8ad2cc518b Author: Stefan Monnier Date: Wed Nov 8 22:53:39 2023 -0500 Use new `derived-mode-all/set-parents` functions. Try and avoid using the `derived-mode-parent` property directly and use the new API functions instead. * lisp/emacs-lisp/derived.el (define-derived-mode): Use `derived-mode-set-parent`. * lisp/loadhist.el (unload--set-major-mode): * lisp/info-look.el (info-lookup-select-mode): * lisp/ibuf-ext.el (ibuffer-list-buffer-modes): * lisp/files.el (dir-locals--get-sort-score): * lisp/emacs-lisp/cl-generic.el (cl--generic-derived-specializers): Use `derived-mode-all-parents`. commit 5afa55a946a0271c624359e9de5d62bcaf39729b Author: Stefan Monnier Date: Mon Nov 6 16:57:05 2023 -0500 subr.el: Add multiple inheritance to `derived-mode-p` Add the ability for a major mode to declare "extra parents" in addition to the one from which it inherits. * lisp/subr.el (derived-mode-add-parents): New function. (derived-mode-all-parents): Adjust accordingly. commit 8323394bc801e01dedd95e0ff8d573dd1f5e34ba Author: Stefan Monnier Date: Mon Nov 6 19:05:40 2023 -0500 Use `derived-mode-add-parents` in remaining uses of `derived-mode-parent` Until now multiple inheritance wasn't really used, but some ad-hoc code went a bit beyond the normal uses of the mode hierarchy. Use the new multiple inheritance code to replace that ad-hoc code, thereby eliminating basically all remaining direct uses of the `derived-mode-parent` property. CEDET had its own notion of mode hierrchy using `derived-mode-parent` as well as its own `mode-local-parent` property set via `define-child-mode`. `derived-mode-add-parents` lets us reimplement `define-child-mode` such that CEDET can now use the normal API functions. * lisp/locate.el (locate-mode): Use `derived-mode-add-parents`. * lisp/cedet/mode-local.el (get-mode-local-parent): Declare obsolete. (mode-local-equivalent-mode-p, mode-local-use-bindings-p): Make them obsolete aliases. (mode-local--set-parent): Rewrite to use `derived-mode-add-parents`. Declare as obsolete. (mode-local-map-mode-buffers): Use `derived-mode-p`. (mode-local-symbol, mode-local--activate-bindings) (mode-local--deactivate-bindings, mode-local-describe-bindings-2): Use `derived-mode-all-parents`. * lisp/cedet/srecode/table.el (srecode-get-mode-table): * lisp/cedet/srecode/find.el (srecode-table, srecode-load-tables-for-mode) (srecode-all-template-hash): Use `derived-mode-all-parents`. * lisp/cedet/srecode/map.el (srecode-map-entries-for-mode): * lisp/cedet/semantic/db.el (semanticdb-equivalent-mode): Use `provided-mode-derived-p` now that it obeys `define-child-mode`. commit 0939433b63ab45d18fe1a2db706f66efe7307261 Author: Stefan Monnier Date: Tue Nov 7 18:57:03 2023 -0500 Move EIEIO's C3 linearization code to `subr.el` The code was used to linearize the EIEIO class hierarchy, since it results in saner results than things like BFS or DFS. By moving it to `subr.el` we get to benefit from that same advantage both in `cl--class-allparents` and in `derived-mode-all-parents`. * lisp/subr.el (merge-ordered-lists): New function. (derived-mode-all-parents): Use it to improve parent ordering. * lisp/emacs-lisp/eieio-core.el (eieio--c3-candidate) (eieio--c3-merge-lists): Delete functions, replaced by `merge-ordered-lists`. (eieio--class-precedence-c3): Use `merge-ordered-lists`. * lisp/emacs-lisp/cl-preloaded.el (cl--class-allparents): Use `merge-ordered-lists` to improve parent ordering. * lisp/emacs-lisp/cl-macs.el (cl--struct-all-parents): Delete function. (cl--pcase-mutually-exclusive-p): Use `cl--class-allparents` instead. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 09 02:44:12 2023 Received: (at 67008) by debbugs.gnu.org; 9 Nov 2023 07:44:12 +0000 Received: from localhost ([127.0.0.1]:46736 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0zi0-0005D3-80 for submit@debbugs.gnu.org; Thu, 09 Nov 2023 02:44:12 -0500 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]:60536) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0zhv-0005CN-UX for 67008@debbugs.gnu.org; Thu, 09 Nov 2023 02:44:11 -0500 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-1cc29f39e7aso4410815ad.0 for <67008@debbugs.gnu.org>; Wed, 08 Nov 2023 23:43:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699515803; x=1700120603; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=XhuhfBVWvIQnlMELM+PvXiU178DjCVixnjN6Bgkk8FU=; b=OwPvOzCArNayATBNkyxvl9HApJ1aJucItpoLYkNUXngTXbk0SqJ36ZTt1A2gtUpD9v 4JA+G7Dnc0JzsHnAaI0sBhdyPZTh4r3fYD8FcvNkMpYUV4myCrNe3fcBwTjtmB8tJn01 eQVM0IgUVQ9ovct9KdwCEOEaYlRyj21+ubbkJwYRg+A8bE/tqFTkH0xYnb59685iNqy7 TQ+r/e05hHtZcaI9mPReOY9ja3uqmNSFBLO3mpC+3NfYE4WUi/EhV1NI/hUgPEkz8Md4 mjPijbNj/UWIylA3ZE1mi5uWlf4/guggTZNW42nS0F8CIwE+6oY/l7d2oHuwX1FkABkV /Rew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699515803; x=1700120603; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XhuhfBVWvIQnlMELM+PvXiU178DjCVixnjN6Bgkk8FU=; b=nPYb+Ap8rdNaIK5OafAbyD7zWoduzjFZ7DFoQaJYIuPRZwFP8CFjcuCMsw5x6CEl8f bd1XM98TBHhR96Dz2V7WS/qrd2byyLp5a3uSCs+3fgvHHtGseGiANNf4Y7JgNKzJ6OJR g623qlpG9JjrPLZ+GFWWUuMLHN52Cl3AbTkG6hJuO8pOF9YfRx5dBq4ScZvZHWR7RoRi lqgTj1riJp/mFDyJQsbj39TPIArFGFL0EuuPP5hA0qIG8461PyCTK3xWSOhirUE75RXV 5dHaPwc2GjDvXCIxkDOzHYuLFet5fTy6x4GuCXNRtgP8kP4B7LpxN3x8AvMd/KV6k3KM miJg== X-Gm-Message-State: AOJu0YyE4b54PD7ZOVAysu/GV+tbIBY8+Ifs36bOLrvf9kfnNe0yqMeF UL4J0gqkbuV0EbR86+aY5vc= X-Google-Smtp-Source: AGHT+IHer3BO19lzW4UIlZf0i0HLELJudjsIWym83Qoa7AeTxcaqo387JCABQqC7dloD7VoaPXMvgQ== X-Received: by 2002:a17:903:230c:b0:1cc:6e42:1413 with SMTP id d12-20020a170903230c00b001cc6e421413mr5076085plh.57.1699515802650; Wed, 08 Nov 2023 23:43:22 -0800 (PST) Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com. [172.117.161.177]) by smtp.gmail.com with ESMTPSA id kx14-20020a170902f94e00b001c898328289sm2863534plb.158.2023.11.08.23.43.22 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 08 Nov 2023 23:43:22 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: bug#67008: 30.0.50; Multiple major mode parents From: Yuan Fu In-Reply-To: Date: Wed, 8 Nov 2023 23:43:10 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: References: To: Stefan Monnier X-Mailer: Apple Mail (2.3731.700.6) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > On Nov 8, 2023, at 9:38 PM, Stefan Monnier via Bug reports for GNU = Emacs, the Swiss army knife of text editors = wrote: >=20 > Package: Emacs > Version: 30.0.50 >=20 >=20 > While it seems difficult to add support for multiple inheritance to > `define-derived-mode`, it's fairly easy to allow a major mode to = declare > itself the spiritual heir of various other major modes beside the one > from which it actually inherits. >=20 > We already have some very basic such cases in our own code: > - `locate-mode` inherits from `special-mode` but declares itself > as a child of `dired-mode`. > - CEDET declares that `c++-mode` is a child of `c-mode`. >=20 > I'd been toying with this idea for a while because it has seemed = useful > a few times, tho until now there seemed to be good enough = alternatives. > But in order to really support AUCTeX modes well, we do need such > a thing: we need `LaTeX-mode` to be able to declare itself as a child > of `latex-mode` (even tho it does not inherit from it) so that > directory-local variables are properly applied to it, which is > a fairly common use case. >=20 > I pushed to the branch `feature/derived-mode-add-parents` a bunch of > patches which add support for such limited form of `multiple > inheritance`. >=20 > The patch is fairly large because it goes through all the code that > uses the `derived-mode-parent` property and adjusts it to use > a few new functions: >=20 > - `derived-mode-set-parent` and `derived-mode-all-parents` cover > basically all previous uses of the `derived-mode-parent` property. > - `derived-mode-add-parents` to declare additional parents. >=20 > The patch also consolidates the code that linearizes the inheritance > hierarchy of CL classes, EIEIO classes, and major modes. >=20 > You can see below the corresponding commit log. > There are no doc (or etc/NEWS) changes yet. > Any comment/objection? Great work! Thanks! I need to find some time to read through the = changes, but sounds promising. Yuan= From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 10 19:03:06 2023 Received: (at 67008) by debbugs.gnu.org; 11 Nov 2023 00:03:06 +0000 Received: from localhost ([127.0.0.1]:51048 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1bSd-0004CA-0P for submit@debbugs.gnu.org; Fri, 10 Nov 2023 19:03:06 -0500 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:41483) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1bSX-0004Bs-Vw for 67008@debbugs.gnu.org; Fri, 10 Nov 2023 19:02:49 -0500 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 8A1DB5C01EF; Fri, 10 Nov 2023 19:02:00 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute6.internal (MEProxy); Fri, 10 Nov 2023 19:02:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm2; t= 1699660920; x=1699747320; bh=fktxASSWmoIUk3nxIwNRSVLo7t3PQ1pIe2Z l03VelcY=; b=ViWtaAVLKVyIhKxiHEMAHqv2ybhGhjefMNjanp+R4ZslhywVTnQ bL1+u0DuIvEitQimn9FfR9RKZg7tlL8aP1B7f4bI2ta6lxEXgOsifgRbqSizXxAL ikm13FCHatY+kLHQQ2zZTIW+fpqCVZvZz9rXbikcwFc1Zd7Dl/sms5faM/PvD7ZM mE2zHrguE+2A25Cn/+1ieXn7Q0s6X6UOtSYkujGdHIVR/P+LzwFOQHstM43TJ1bg FfFo1QzfhkyuPUWzv4hpk4+7jC2H+WKQWKmChT5JIiWIvUjau33ahbuFkVfnWy9f aRZpt5Ei36AMnmu07WXkOaJRIXA5bAdnATQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1699660920; x=1699747320; bh=fktxASSWmoIUk3nxIwNRSVLo7t3PQ1pIe2Z l03VelcY=; b=TLiQd1UHKgioKTSPJ/Ry9ZkvBJqjYvqR9+fQKCfX3eaEksF7iDh dmmp6X9CGLQD47oWqXFb+n1tG7vVkWCa+hjHOI5/Jd8qqusdXGPSEbzOX9+gJ512 kAWAtXVH5u4vUT9boAwvvedt0sVCBLNew/YN2/ZUamT7J3v9h9JeXXFl9eI6iY/n YsKUsVcXQqgFgIJvJ0EoEHpnlCWgRjQGnKyMAf9kIVo1jtDx0FEBScWSiLSlkIV+ FRsyrp8e6BGswWIgBt/li+a3xV8I5tPF/ldFFDKZJ4PARQOEtIybGnlKl1pB5BxI GjeeYrdS/71yfTIGvJ9pIWEKhwnfxI9kfTw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedruddvgedgudeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepiefgteevheevveffheeltdeukeeiieekueefgedugfefgefhudelgfefveel vdevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 10 Nov 2023 19:01:58 -0500 (EST) Message-ID: <84ad0700-18d8-f823-4bac-d6a893570cf8@gutov.dev> Date: Sat, 11 Nov 2023 02:01:57 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: bug#67008: 30.0.50; Multiple major mode parents Content-Language: en-US To: Stefan Monnier , 67008@debbugs.gnu.org References: From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.2 (--) X-Debbugs-Envelope-To: 67008 Cc: Ikumi Keita X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.5 (--) On 09/11/2023 07:38, Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > While it seems difficult to add support for multiple inheritance to > `define-derived-mode`, it's fairly easy to allow a major mode to declare > itself the spiritual heir of various other major modes beside the one > from which it actually inherits. I think it would help with certain customizations which check whether a mode is derived from e.g. js-mode. But whatever code that runs in parent-mode-hook won't run in the "derived modes" that use the new mechanism, would it? I wonder which of these two problems have a bigger impact for the seamless migration to ts modes. From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 10 23:24:47 2023 Received: (at 67008) by debbugs.gnu.org; 11 Nov 2023 04:24:47 +0000 Received: from localhost ([127.0.0.1]:51305 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1fY4-0002ie-RH for submit@debbugs.gnu.org; Fri, 10 Nov 2023 23:24:46 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:6597) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1fXo-0002iC-Op for 67008@debbugs.gnu.org; Fri, 10 Nov 2023 23:24:43 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 04962444304; Fri, 10 Nov 2023 23:23:42 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1699676621; bh=1m+qRiaVZPUKuoknA4wyRgWupYs1vCRlRtaxfcD/Otw=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=JeZCgTAirZPWEA/XR7wuNfLN54ZxfPyVYcKgvloSudLULBc1NzU4943syvJ+e/nQ7 fp38fvSZ3iFK9z7fciVsnCgHg26wMqN+WaV9afLr25ecSFxSEXPDcxSEVkvL2MiOCQ qVHKrGVi0fA98v8oEEjJgOLLoHhyMv1dRogOEGbAbWXVOw0qQevZqehkI9X7sq5Kts yRB+A3IFUZhtBAg7uv6yZAbhTbtYppQ1H/1FNkiZrLusnGUHd2xMQ1zyVLKTEY68CR 5FJm952dz/sBjriU1/ZNi5BLzHYad+WLZ7GlLr+pJ1X6u7AZP7hTGIvw/hQa9JhqBl tC0bG8eTwa+dg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 0A47D4442FB; Fri, 10 Nov 2023 23:23:41 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D92AC1201F9; Fri, 10 Nov 2023 23:23:40 -0500 (EST) From: Stefan Monnier To: Dmitry Gutov Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: <84ad0700-18d8-f823-4bac-d6a893570cf8@gutov.dev> (Dmitry Gutov's message of "Sat, 11 Nov 2023 02:01:57 +0200") Message-ID: References: <84ad0700-18d8-f823-4bac-d6a893570cf8@gutov.dev> Date: Fri, 10 Nov 2023 23:23:41 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.023 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > I think it would help with certain customizations which check whether a mode > is derived from e.g. js-mode. > But whatever code that runs in parent-mode-hook won't run in the "derived > modes" that use the new mechanism, would it? The new functionality only affects `derived-mode-p` checks. For mode hooks, it's up to the mode to run extra hooks if it deems them desirable. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 11 05:15:39 2023 Received: (at 67008) by debbugs.gnu.org; 11 Nov 2023 10:15:39 +0000 Received: from localhost ([127.0.0.1]:52086 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1l1e-00046y-Ku for submit@debbugs.gnu.org; Sat, 11 Nov 2023 05:15:38 -0500 Received: from mail-lj1-x22b.google.com ([2a00:1450:4864:20::22b]:46469) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1l1c-00046i-C4 for 67008@debbugs.gnu.org; Sat, 11 Nov 2023 05:15:37 -0500 Received: by mail-lj1-x22b.google.com with SMTP id 38308e7fff4ca-2c50305c5c4so40035701fa.1 for <67008@debbugs.gnu.org>; Sat, 11 Nov 2023 02:14:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699697690; x=1700302490; darn=debbugs.gnu.org; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=ygAg3hJxwM8dX3SCnp3G1mdOCiX0Dr5Y38x5OsrawOc=; b=RfR19ivvY/NZjZ96soWMDkUs4w2Tm9dUSm/Jz4os6dEwZ9E1hcOcENj5BOPubB8JsL D+SNCK9Gzm4PytCdOa/ES7cshZVNidw6ip0hAyOOSsiZOVKmf9fwVkIZbjHQx2U0s4Zg OWKY9rYtBbAjxvM7vxZOJUbKYT9qoAdOxyLWiHurIQmqfpuYOEGuYgQCwhuHT+FFWPUy thGRtL+7dAGrfKUnnQjYcyTDV68UkhcNCCHY5daxGesuhy+56ys74b963Spsj27zXPcm 8OxoucaaKvlyZ0bKc8r1HhQWZwvBgM3rs++FipdyRK/qv7vzC52321AbiUY5ex8JvG+c 4K5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699697690; x=1700302490; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ygAg3hJxwM8dX3SCnp3G1mdOCiX0Dr5Y38x5OsrawOc=; b=lJ4fFnonetpU5DwG6LB7Ls2N71RTTont2A9i+KR2JCG01IC1fFrFgz+oHD700q6jH7 e4NCpG+nwUDBSyDv9QozL2F8PCzpZbwbS3JNs9fBcrfF0b1/YZCpbNcdmREKFYsaru0a WQC8mUKCYteNWM4ojOD7ZizA8TeH/uxrxIR3WkkWUEgrT18gOiWcIKq7rUZSunY780te 3V7DsY9MxtcRNB03qRZxd9OmmetzmW2RmLVifQz0sIXjRJnqvMsu0KS7Zd9SzjD0TJRT izXs0eJrH+KoMOgY5weWknzQXAuCpmY0g+jRDD0HfWuiD9wrInIMRmAkmQaWwBMy+qBC nydg== X-Gm-Message-State: AOJu0Yyh1REs6t/rr00fvkJaCl3xO78TH6z/Gu1FV4ggqHSCZSO3kHXZ h8T76J+nXRojMZoHxCi3diA= X-Google-Smtp-Source: AGHT+IGtZSo2eyWezQkfvB+rNtLH6sucNDJ8K2LzSvfE8Sug974OfuQ9oKI7uo2d2YFqz9vq902I6w== X-Received: by 2002:ac2:5dea:0:b0:509:493d:25a3 with SMTP id z10-20020ac25dea000000b00509493d25a3mr980426lfq.11.1699697689604; Sat, 11 Nov 2023 02:14:49 -0800 (PST) Received: from smtpclient.apple (c188-150-165-235.bredband.tele2.se. [188.150.165.235]) by smtp.gmail.com with ESMTPSA id s4-20020a056512314400b004ff973cb14esm232164lfi.108.2023.11.11.02.14.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 11 Nov 2023 02:14:48 -0800 (PST) From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Subject: Re: bug#67008: 30.0.50; Multiple major mode parents Message-Id: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> Date: Sat, 11 Nov 2023 11:14:47 +0100 To: Stefan Monnier X-Mailer: Apple Mail (2.3654.120.0.1.15) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thank you, I can see how this would be useful. > * lisp/subr.el (merge-ordered-lists): New function.=20 That's nice to have, indeed. The implementation is a bit imperative (and quadratic?) but I assume it = was tuned for performance (on small inputs). > + "Merge LISTS in a consistent order. > +LISTS is a list of lists of elements. > +Merge them into a single list containing the same elements (removing > +duplicates) and obeying their relative positions in each list. I think the doc string should mention C3, and that we use `eq` as = equivalence predicate here. > +If a consistent order does not exist, call ERROR-FUNCTION with > +the remaining lists. > +It should return the candidate to use to continue the merge > +By default we choose the first element of the first list." It's not obvious from the text what the arguments to such an = error-function would look like and what the return value should be. None = of the existing three callers seem to use this argument, for that = matter. Given that `eieio--c3-merge-lists` raises an error if there is no total = order, shouldn't the new code do so? And we definitely should have tests (I completely understand that you = didn't bothered writing any for something that may or may not actually = be used). (Really wish we could hive off the whole CEDET tree to ELPA one day.) From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 11 07:22:27 2023 Received: (at 67008) by debbugs.gnu.org; 11 Nov 2023 12:22:27 +0000 Received: from localhost ([127.0.0.1]:52266 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1n0M-0007u0-Ji for submit@debbugs.gnu.org; Sat, 11 Nov 2023 07:22:27 -0500 Received: from smtp1a.inetd.co.jp ([210.129.88.11]:34218) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1n0J-0007tp-Q4 for 67008@debbugs.gnu.org; Sat, 11 Nov 2023 07:22:25 -0500 Received: from localhost (42-144-34-11.rev.home.ne.jp [42.144.34.11]) by smtp1a.inetd.co.jp (Postfix) with ESMTPA id CF8635C; Sat, 11 Nov 2023 21:21:39 +0900 (JST) From: Ikumi Keita To: Stefan Monnier Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-reply-to: References: Comments: In-reply-to Stefan Monnier message dated "Thu, 09 Nov 2023 00:38:22 -0500." X-Mailer: MH-E 8.6+git; nmh 1.7.1; Emacs 29.1 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Date: Sat, 11 Nov 2023 21:21:36 +0900 Message-ID: <51598.1699705296@localhost> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Hi Stefan, >>>>> Stefan Monnier writes: > I pushed to the branch `feature/derived-mode-add-parents` a bunch of > patches which add support for such limited form of `multiple > inheritance`. I tried the branch with the attached tentative addition to AUCTeX feature/fix-mode-names-overlap branch. I tested two modes, namely latex mode and japanese latex mode, with the second attachment to see whether the directory local variables stored in the .dir-locals.el are reflected or not. For latex mode, it works as expected. Thank you, it is promising. On the contrary, it fails for japanese latex mode with the error: File mode specification error: (error Cycle in the major mode hierarchy: japanese-LaTeX-mode) I think the reason is that AUCTeX has (defalias 'japanese-latex-mode #'japanese-LaTeX-mode) for backward compatibility. AUCTeX major modes are divided into two categories. [a] Modes with former names which are overlapped with built-in tex modes: plain-TeX-mode, LaTeX-mode, docTeX-mode, Texinfo-mode [b] Modes with former names which aren't overlapped with built-in tex modes: ConTeXt-mode, AmSTeX-mode, japanese-plain-TeX-mode, japanese-LaTeX-mode For category [b], AUCTeX feature branch has defalias'es similar to the above example for compatibility with files which have "%%% mode:" tag with former mode name such as "japanese-latex". This new feature of multiple inheritance would work well for category [a], which retains backward compatibility by `major-mode-remap-alist' and doesn't use defalias. However, it doesn't work for category [b]. It seems to me very difficult to arrange the proposed feature to cover category [b], looking at its way to handle mode alias. So I think AUCTeX feature branch must rely on some very ugly hack to be able to pick up directory local variable entry with former mode name. :-( (Or AUCTeX should entirely give up such compatibility with directory local variables for category [b].) Best regards, Ikumi Keita #StandWithUkraine #StopWarInUkraine --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=patch Content-Description: Use multiple inheritance diff --git a/latex.el b/latex.el index e9b08cc1..0551c320 100644 --- a/latex.el +++ b/latex.el @@ -8087,6 +8087,8 @@ Run after mode hooks and file local variables application." ;;;###autoload (put 'LaTeX-mode 'auctex-function-definition (symbol-function 'LaTeX-mode)) +(TeX-derived-mode-add-parents 'LaTeX-mode '(latex-mode)) + (with-eval-after-load 'semantic/symref/grep (push '(docTeX-mode "*.dtx") semantic-symref-filepattern-alist)) diff --git a/tex-jp.el b/tex-jp.el index ff562e22..36a39ec1 100644 --- a/tex-jp.el +++ b/tex-jp.el @@ -471,6 +471,9 @@ Now `japanese-latex-mode-initialization' is no-op. Don't use it.")) ;;;###autoload (defalias 'japanese-latex-mode #'japanese-LaTeX-mode) +(TeX-derived-mode-add-parents 'japanese-LaTeX-mode + '(japanese-latex-mode latex-mode)) + (defun japanese-LaTeX-guess-engine () "Guess Japanese TeX engine and set it to `TeX-engine'. Document class and its option are taken into account. Do not diff --git a/tex.el b/tex.el index d4fded73..f67e1e31 100644 --- a/tex.el +++ b/tex.el @@ -3875,6 +3875,15 @@ Run after mode hooks and file local variables application." ;;;###autoload (put 'TeX-mode 'auctex-function-definition (symbol-function 'TeX-mode)) +;; COMPATIBILITY for Emacs<30 +(unless (fboundp 'derived-mode-add-parents) + (advice-add 'derived-mode-p :after-until #'TeX--compat-derived-mode-p) + (defun TeX--compat-derived-mode-p (&rest modes) + (let ((extra-parents (get major-mode 'derived-mode-extra-parents))) + (and extra-parents + (cl-loop for parent in extra-parents + thereis (memq parent modes)))))) + ;;; Hilighting ;; FIXME: It's likely that `hilit-patterns-alist' is much obsolete. @@ -4828,6 +4837,16 @@ Also see `ignore'. This is a compatibility function for Emacs versions prior to v.28." t)) +;; COMPATIBILITY for Emacs<30 +(if (fboundp 'derived-mode-add-parents) + (defalias 'TeX-derived-mode-add-parents #'derived-mode-add-parents) + ;; Adapted copy of `derived-mode-add-parents'. + (defun TeX-derived-mode-add-parents (mode extra-parents) + "Add EXTRA-PARENTS to the parents of MODE. +Declares the parents of MODE to be its main parent (as defined +in `define-derived-mode') plus EXTRA-PARENTS." + (put mode 'derived-mode-extra-parents extra-parents))) + (defun TeX-match-buffer (n) "Return the substring corresponding to the N'th match. See `match-data' for details." --=-=-= Content-Type: application/gzip Content-Disposition: attachment; filename=dirlocal.tar.gz Content-Transfer-Encoding: base64 Content-Description: Test suit H4sICPBpT2UCA2RpcmxvY2FsLnRhcgDtmV1vmzAUhnPNr7AqRSKTkmGwQQra1T6uellNk5ZeGHA2 NsAVOFqzKPvtsw1xoEtTaSsJzXwUCXz8wUHO49f4JGmZsZhkr0f9meM4QYCBuMIAw/ZVG4AIu57v owBi4EAPumgE8OgEtqo4KUUo32nKyZF2T9U376GvL8SS3fzPxN1U3VYzmj33/PsIPT7/2Hf1/GPf E/OPMQ5GwDHz37uFYQjepSWNOSvX4FrOP/hIypREGa0sWfuBlSBnJQVpsWRlTnjKClBRCmzpAFc2 zUlcTVqj6P5XE8uyQwvYGeH0fpqzhFoA2CSKwQxk7ActJ7K8ZEyUobq/X/+UdbL9RDjsa3JDP+me da3yydayQcLi9th1i9qpBvhG7khBKzrtxrBz64ftA/G6/Q5F0K1s9UWqb8wKMSTXnXYvKOom1kD5 F5MCZyLqftb/o/xDB2r+fewL/hFCvuH/FGaNx+OH2M+VU/555zUcqqwoIBWn5Rxw5XlfJHNrZOwl m+Y/7gn+hn//CP+e0HzBP5Ty7wVI8u8EyPB/ClvI1+dSrSxrUQkBF+r+akMI2cryKmpcmyiKdp69 M45j5ZRDNL7PPOUZfbO5oRVPiy9g8ZYVYuXg21shhDdf0wqIX74GmwXNwTItK77VbTZbKdyrnBZ8 Jkdld82gdaEO8on1qpFes2L9hf57Per/Mf4h3O///cBT+o89w/8Q9L+7fTZYXTL/7rn4b+//fVTz 7xj+h8C/+sA12P8X/KMB6H/geOb7f4j6bxaCy+a/e/7/65Tnf0L11fd/4ArwXSjP/wNk9v8nsf7P ///l+F88vpMBEOWHSQDlqodwJ8+aEAj/PO4/mCqQQR7MFoTh4wmDVthnzRlo/pMkgWfb/7uafy9w av13Df9D0P8aHKP7F6//gn93CPzv8n8m/z8U/s2+35gxY8Yu0H4DYLQStAAqAAA= --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 11 11:21:36 2023 Received: (at 67008) by debbugs.gnu.org; 11 Nov 2023 16:21:36 +0000 Received: from localhost ([127.0.0.1]:54363 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1qjo-0002tP-6U for submit@debbugs.gnu.org; Sat, 11 Nov 2023 11:21:36 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:25633) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1qjl-0002tA-QT for 67008@debbugs.gnu.org; Sat, 11 Nov 2023 11:21:34 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id A6F511000AD; Sat, 11 Nov 2023 11:20:47 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1699719647; bh=rTy+y56c7ykJAPSRMo2T1fhJ5HxpjSRMdzqDK1oQjF4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=JbsAjZbjdhFbWQIRH/DURJATohkLLEwhxv6+jgVK/CsHzr3RXmKEhSPyHKhHmiyeP bxSeEAz0JdOICORmU6QSnf4auQK42PeI1gjVF2m3p0oS0T6EpIQHHba8JxJSqJrLwO 5LCRgNIBEucTtSHtDUn7vE7YHhLX9KorHtVzdb7uCXM1BS/zSn9xwYSe6uOMaZtfkD P+5mAJftJL5VHrw9FQa7eYOlLrZD0FUMCbuhgoSGJHL3xISRFaPbSOPb8MaTeSunlm mYAaF2gcYxgBJs7mTfPU0Dn/xsxuAzrSiXWb3MZH+uwfsyqF+HI4FhnIEgb4yBNMW3 NaWcDxt/KPsCQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id EB791100061; Sat, 11 Nov 2023 11:20:46 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id B8C61120201; Sat, 11 Nov 2023 11:20:46 -0500 (EST) From: Stefan Monnier To: Mattias =?windows-1252?Q?Engdeg=E5rd?= Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> ("Mattias =?windows-1252?Q?Engdeg=E5rd=22's?= message of "Sat, 11 Nov 2023 11:14:47 +0100") Message-ID: References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> Date: Sat, 11 Nov 2023 11:20:45 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.134 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> * lisp/subr.el (merge-ordered-lists): New function. > That's nice to have, indeed. > The implementation is a bit imperative (and quadratic?) but I assume it was > tuned for performance (on small inputs). I basically took the code from EIEIO, just massaged a bit to offer a simpler API. I'm sure there are ways to make it more efficient for larger inputs, but I haven't put much thought into optimizing/tuning it. >> + "Merge LISTS in a consistent order. >> +LISTS is a list of lists of elements. >> +Merge them into a single list containing the same elements (removing >> +duplicates) and obeying their relative positions in each list. > I think the doc string should mention C3, Fair enough. > and that we use `eq` as equivalence predicate here. Oops, indeed, thanks. >> +If a consistent order does not exist, call ERROR-FUNCTION with >> +the remaining lists. >> +It should return the candidate to use to continue the merge >> +By default we choose the first element of the first list." > > It's not obvious from the text what the arguments to such an error-function > would look like and what the return value should be. None of the existing > three callers seem to use this argument, for that matter. Oh, that's a bug in my patch: the EIEIO code should use (to signal the same error it currently signals). > Given that `eieio--c3-merge-lists` raises an error if there is no total > order, shouldn't the new code do so? Yup. > And we definitely should have tests (I completely understand that you didn't > bothered writing any for something that may or may not actually be used). I don't understand, there are many `if` tests in the code already. > (Really wish we could hive off the whole CEDET tree to ELPA one day.) Including EIEIO? `defclass` is quite popular among contributors coming from the Common Lisp world, so we have several packages in Emacs itself which use it: % grep -l '^(defclass' lisp/**/*.el | grep -v 'cedet\|eieio' lisp/auth-source.el lisp/emacs-lisp/chart.el lisp/emacs-lisp/vtable.el lisp/gnus/gnus-icalendar.el lisp/gnus/gnus-search.el lisp/international/emoji.el lisp/jsonrpc.el lisp/progmodes/eglot.el lisp/registry.el lisp/transient.el % The use in `emoji.el` seems to be due to the use in `transient.el`. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 11 11:57:52 2023 Received: (at 67008) by debbugs.gnu.org; 11 Nov 2023 16:57:52 +0000 Received: from localhost ([127.0.0.1]:54388 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1rIt-0006Yq-Ul for submit@debbugs.gnu.org; Sat, 11 Nov 2023 11:57:52 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:23409) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1rIr-0006Yc-P9 for 67008@debbugs.gnu.org; Sat, 11 Nov 2023 11:57:50 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id A7CE91000AD; Sat, 11 Nov 2023 11:57:03 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1699721823; bh=3ev+cA3VfYpNOiMcQW381GjDcO2wfk29wMqKEU5Y+Hk=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=jARBkKi/FJ6PCoLqhiXaR1++wiMfdlDxNExKnzPvdZ1AmAiH7RCeMKrI3s9ykcTS/ hSI6jT50qbjwjO9/z/YG6r6z/+wMCEbOsd+l5gCeHuHgFwSfNjAi2FiD9jcVuLXoIG tc7eXpaHqwCh5ykmYZicOrAsFJ820F7/8QCEddz7dk3s6G2XimZWH26OysHIGKCocg 8RYO1pJZWq9IC1prmFoSBAiHdi1620KZnVuAemPzd9KhfXWeLiRxQd/eqWGXyNALjm S15yGQtCIiWuxL2jk7lozQiUAAszHESSWZhKDdOtr/X76SJw6hTCpxO+U2ddpiSKUY gZNAm5hg23r5w== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id F0364100061; Sat, 11 Nov 2023 11:57:02 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id CA78C1200DB; Sat, 11 Nov 2023 11:57:02 -0500 (EST) From: Stefan Monnier To: Ikumi Keita Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: <51598.1699705296@localhost> (Ikumi Keita's message of "Sat, 11 Nov 2023 21:21:36 +0900") Message-ID: References: <51598.1699705296@localhost> Date: Sat, 11 Nov 2023 11:57:02 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.134 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > I tried the branch with the attached tentative addition to AUCTeX > feature/fix-mode-names-overlap branch. I tested two modes, namely latex > mode and japanese latex mode, with the second attachment to see whether > the directory local variables stored in the .dir-locals.el are reflected > or not. Thanks for testing :-) > For latex mode, it works as expected. Thank you, it is promising. Great. > On the contrary, it fails for japanese latex mode with the error: > File mode specification error: (error Cycle in the major mode hierarchy: japanese-LaTeX-mode) > I think the reason is that AUCTeX has > (defalias 'japanese-latex-mode #'japanese-LaTeX-mode) > for backward compatibility. Oh, I see so `japanese-LaTeX-mode` declares `japanese-latex-mode` as an extra parent but the alias makes it a cycle. Admittedly, in the current `provided-mode-derived-p` code, we actually don't signal errors in case of cycles, we just silently break them via de-duplications, so I just changed my code accordingly. > This new feature of multiple inheritance would work well for category > [a], which retains backward compatibility by `major-mode-remap-alist' > and doesn't use defalias. However, it doesn't work for category [b]. I believe with the code I just pushed it should work fine for [b] as well. > It seems to me very difficult to arrange the proposed feature to cover > category [b], looking at its way to handle mode alias. Maybe there's something I'm missing, but the change was simple and I believe it does address your use case. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 11 13:13:43 2023 Received: (at 67008) by debbugs.gnu.org; 11 Nov 2023 18:13:43 +0000 Received: from localhost ([127.0.0.1]:54432 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1sUJ-0000CZ-ED for submit@debbugs.gnu.org; Sat, 11 Nov 2023 13:13:43 -0500 Received: from mail-lf1-x12e.google.com ([2a00:1450:4864:20::12e]:56512) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1sUG-0000CF-4n for 67008@debbugs.gnu.org; Sat, 11 Nov 2023 13:13:41 -0500 Received: by mail-lf1-x12e.google.com with SMTP id 2adb3069b0e04-507a55302e0so4200223e87.0 for <67008@debbugs.gnu.org>; Sat, 11 Nov 2023 10:12:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699726374; x=1700331174; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=yvNhw3Zas/CAOAcNZsfx9fJlDFkUlfFdd8ZUQqZdK9M=; b=AteGZRGO+i6UFCo39EC0Ad7pXB/KkW2QnjQC2NNxxtm7XGIJtjp04WN3DsZ2vlitAV kIn6KQRDtSp+AFffjT7SHvJGFhlZqQNpT/fuZS7gXn4dNqEArTf/OQV+sKZPMd4SX60Q /X2InSjGnq5etTFkge1hIp24L2HlQTBFugXbIPoyq4mJxiGFSfIve831xMaeHyXsYubo LuVd5z4/jkrqo2ZnSDw5NluFfEGcdx+sC5IAQxxZMQdZvmNNucfYC2ETpRkW31kLMLfK SBlZau+8IWPzAKegGitRRM6n47lHGahGyvmSJl8CW5YByacRnKxfogEorogB5iNht355 LqrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699726374; x=1700331174; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=yvNhw3Zas/CAOAcNZsfx9fJlDFkUlfFdd8ZUQqZdK9M=; b=cufzZ1pLE3eMsrjU58jjtS6FTAYYXjdJRWJZACF+MhKds39S6pfTCWxs2PgoBm2OIJ eA+CMODpfSddEd7veyIPUan8wvscmc5i07nkLzPpAnKETqhYKxyJiL4JQzLefB0tkk7g Erf3YffgR9Z6QKf0qS9isMyfzKiliP+EK7fJZVQCZHLtXtaLveF52KZk2iTkTFbiBTky wsnwqHhGbBG6tPGWqS0c1F51OS/iGxcZrzrOIQBJOJVF92hYvwuQ2SYka4IoDSbLOQbU euAc5jlk/tdY+XkM12xIzhcnrOx85Wq102Lp76Bp7252Li8KuUla7rmrvm9nZfIxXlZm reLQ== X-Gm-Message-State: AOJu0YxJRC3CNCtuoTt5KR1F0Afu4/8NSU81g9gjRn29zgLna8nd8TPm ZDkI21uO/RdX6zZz5Jth+mo= X-Google-Smtp-Source: AGHT+IF+KnStiOkR4sUw8OPM+t0RR7XY3Y2yOvrGrB33bvMJMfIvBbA/Hmw9EYlj6BTdMEAGXPEnmA== X-Received: by 2002:a19:6907:0:b0:507:9777:7a7 with SMTP id e7-20020a196907000000b00507977707a7mr1170531lfc.17.1699726373392; Sat, 11 Nov 2023 10:12:53 -0800 (PST) Received: from smtpclient.apple (c188-150-165-235.bredband.tele2.se. [188.150.165.235]) by smtp.gmail.com with ESMTPSA id k8-20020a05651210c800b0050a76331c7fsm254820lfg.185.2023.11.11.10.12.52 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 11 Nov 2023 10:12:53 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Subject: Re: bug#67008: 30.0.50; Multiple major mode parents From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: Date: Sat, 11 Nov 2023 19:12:51 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <06029307-1F3E-445E-A9EB-F9192DF08CE7@gmail.com> References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> To: Stefan Monnier X-Mailer: Apple Mail (2.3654.120.0.1.15) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) 11 nov. 2023 kl. 17.20 skrev Stefan Monnier : >> And we definitely should have tests (I completely understand that you = didn't >> bothered writing any for something that may or may not actually be = used). >=20 > I don't understand, there are many `if` tests in the code already. Oh, carry on then. Testing my patience must count for something. >> (Really wish we could hive off the whole CEDET tree to ELPA one day.) >=20 > Including EIEIO? No, I didn't know it was part of or depended on CEDET. That so? (xref.el depends on semantic/symref but I'm pretty sure that must be = resolvable.) From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 11 13:44:31 2023 Received: (at 67008) by debbugs.gnu.org; 11 Nov 2023 18:44:31 +0000 Received: from localhost ([127.0.0.1]:54444 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1sy7-0003ie-4E for submit@debbugs.gnu.org; Sat, 11 Nov 2023 13:44:31 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:47218) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1sy5-0003iQ-Dm for 67008@debbugs.gnu.org; Sat, 11 Nov 2023 13:44:30 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 0FE1380061; Sat, 11 Nov 2023 13:43:43 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1699728217; bh=lvd8XcfPTMQB7k1xVoDjoLqGBQttvC6O2QgqGBCB3Q8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=fjAVX96ggXcganarPBUXybmQH83/FEVJZ6r1MHNCranAiKKTyD0TznAo6yqTQEXoS JxqLNBzaeekWDQ5aYsoJmEXT9CibOuA49a4m8BuUoucBwuD1Y/Gyxez7Ze4FOLtHsp k7h1Bwt2WCZxlYQrumIQBwQ8KrliOml5iQ8HRJN/2qLZTSoske0qor4UoW+i6V+QTJ oQlFW8t8tUYgoGd5Q610jw6TszxSjKULID/S3Rwnld2JUCiLvPjj7bFLgp8AU9+21D IeAAiq7Wl08jamGAQi8W0COuWmxj6z2BxWsYr/Y9Q7Pxqtx96REJ9OO/O/YLqCqwFR UeOGMqXA/UvaQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id E34128054F; Sat, 11 Nov 2023 13:43:37 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id AAF16120201; Sat, 11 Nov 2023 13:43:37 -0500 (EST) From: Stefan Monnier To: Mattias =?windows-1252?Q?Engdeg=E5rd?= Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: <06029307-1F3E-445E-A9EB-F9192DF08CE7@gmail.com> ("Mattias =?windows-1252?Q?Engdeg=E5rd=22's?= message of "Sat, 11 Nov 2023 19:12:51 +0100") Message-ID: References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> <06029307-1F3E-445E-A9EB-F9192DF08CE7@gmail.com> Date: Sat, 11 Nov 2023 13:43:36 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.016 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >>> And we definitely should have tests (I completely understand that you didn't >>> bothered writing any for something that may or may not actually be used). >> I don't understand, there are many `if` tests in the code already. > Oh, carry on then. Testing my patience must count for something. :-) >>> (Really wish we could hive off the whole CEDET tree to ELPA one day.) >> Including EIEIO? > No, I didn't know it was part of or depended on CEDET. It doesn't depend on CEDET, no, but it was historically "part of" it, so in some cases the term "CEDET" includes it and I just wanted to be sure you didn't mean that. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 11 15:13:59 2023 Received: (at 67008) by debbugs.gnu.org; 11 Nov 2023 20:13:59 +0000 Received: from localhost ([127.0.0.1]:54470 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1uMh-0006Fa-GK for submit@debbugs.gnu.org; Sat, 11 Nov 2023 15:13:59 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:2152) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1uMf-0006FN-Qi for 67008@debbugs.gnu.org; Sat, 11 Nov 2023 15:13:58 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 729578071E; Sat, 11 Nov 2023 15:13:11 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1699733590; bh=QjUy3VSGzzEvIFi8oh6lJE69F0Kqc7m+A/EE8fx0z3I=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=hQ9RqBMzd6+X+mybpe2r6bC1v+fqPa9Da6TtjQ7q4dgqqHnTYccwWQopNHH8JYebV BU4zCS5bIG0oLH7Rwae5utfSAU8IwZh8AX0vYkUJ2bAxWKTJZxcyr4ThX3YfP/u4c/ ZjCKvkvu9kAALPiQOWKCs94fMB5w9RHgx2Pbj0dM+Lb8/bgPubn4C1XAKlPVYWUkn4 T3YWMjgjbo6BWTJRLuAO+NukTNDh8H4wASbyUEPPBxB02VSoWekm/Y6tLg4z3cUROC x/VsmAXuXu65g2E2kqDrNcd84CTo1WKXlzTICtLVvusmn6heZhH9ggZKMbgcYYgpnf s4OUD60XjV9pA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8BBFC80270; Sat, 11 Nov 2023 15:13:10 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 52B7812038A; Sat, 11 Nov 2023 15:13:10 -0500 (EST) From: Stefan Monnier To: Mattias =?windows-1252?Q?Engdeg=E5rd?= Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: (Stefan Monnier's message of "Sat, 11 Nov 2023 11:20:45 -0500") Message-ID: References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> Date: Sat, 11 Nov 2023 15:13:03 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.016 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >>> + "Merge LISTS in a consistent order. >>> +LISTS is a list of lists of elements. >>> +Merge them into a single list containing the same elements (removing >>> +duplicates) and obeying their relative positions in each list. >> I think the doc string should mention C3, > Fair enough. Having read a bit further, I'm now not sure that `merge-ordered-lists` implements C3. I suspect it provides a useful primitive with which to implement C3 but whether it gives the same result as C3 or not depends on how we call it. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 12 04:51:10 2023 Received: (at 67008) by debbugs.gnu.org; 12 Nov 2023 09:51:10 +0000 Received: from localhost ([127.0.0.1]:55128 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r277V-0005QK-L0 for submit@debbugs.gnu.org; Sun, 12 Nov 2023 04:51:09 -0500 Received: from snd00001-jc.im.kddi.ne.jp ([27.86.105.129]:53153 helo=mgw1.mx.zaq.ne.jp) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r277S-0005Q6-3T for 67008@debbugs.gnu.org; Sun, 12 Nov 2023 04:51:08 -0500 Received: from localhost by dmta0001-jc.im.kddi.ne.jp with ESMTP id <20231112095021938.MUXG.17360.localhost@dmta0001.jcom.zaq.ne.jp>; Sun, 12 Nov 2023 18:50:21 +0900 From: Ikumi Keita To: Stefan Monnier Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-reply-to: References: <51598.1699705296@localhost> Comments: In-reply-to Stefan Monnier message dated "Sat, 11 Nov 2023 11:57:02 -0500." X-Mailer: MH-E 8.6+git; nmh 1.7.1; Emacs 29.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <65512.1699782620.1@localhost> Date: Sun, 12 Nov 2023 18:50:20 +0900 Message-ID: <65513.1699782620@localhost> X-VC-DATE: Sun, 12 Nov 2023 18:50:22 +0900 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Stefan, >>>>> Stefan Monnier writes: > Oh, I see so `japanese-LaTeX-mode` declares `japanese-latex-mode` as an > extra parent but the alias makes it a cycle. > Admittedly, in the current `provided-mode-derived-p` code, we actually > don't signal errors in case of cycles, we just silently break them via > de-duplications, so I just changed my code accordingly. Great, it did work. Thank you very much! >> It seems to me very difficult to arrange the proposed feature to cover >> category [b], looking at its way to handle mode alias. > Maybe there's something I'm missing, but the change was simple and I > believe it does address your use case. Now I think I can settle out the AUCTeX feature branch in clean and consistent way. Best regards, Ikumi Keita #StandWithUkraine #StopWarInUkraine #Gaza #StopTheGenocide #CeasefireNOW From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 12 08:38:11 2023 Received: (at 67008) by debbugs.gnu.org; 12 Nov 2023 13:38:11 +0000 Received: from localhost ([127.0.0.1]:55212 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2AfC-0005m3-NA for submit@debbugs.gnu.org; Sun, 12 Nov 2023 08:38:10 -0500 Received: from mail-lf1-x134.google.com ([2a00:1450:4864:20::134]:47140) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2Af7-0005lW-IQ for 67008@debbugs.gnu.org; Sun, 12 Nov 2023 08:38:09 -0500 Received: by mail-lf1-x134.google.com with SMTP id 2adb3069b0e04-5079f6efd64so4613117e87.2 for <67008@debbugs.gnu.org>; Sun, 12 Nov 2023 05:37:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699796238; x=1700401038; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=lwaRoZ0PmwrFw+1ULqDTfVmG0a/QvUUB3YwkGq2F1lE=; b=nBTDdiutZzOeYnmakXbPELWe1dFFN7f8VsNbgjNtkjrRYbHKkR68sL6+e/CUsm2E7/ oCXGWmO0j8XGgO5fjbxJAsezUL1vvsXjS4GGOgEXy4HUd6zQ5sf5vsPWCvL1dGpbGIsX Fp0fPw+XKU3yd8d7hFhK+qxsq5WHaRWe4RXshDgLu0A+AgxEYdor+hB6afIMlk+u56zz 6u0VhzqXP26Y3KqI6aliX+4ea31fwgIcM92wAIRxcNtkAxh5RyXD0g/CSRgU/tH4+bsN AaFpm9cD/DlZB/qmTHFMz/MiZWuWMl7g+hEfmFefyCr2Oq2uIrsvkK/Q29BB34T9OOan ChyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699796238; x=1700401038; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=lwaRoZ0PmwrFw+1ULqDTfVmG0a/QvUUB3YwkGq2F1lE=; b=ZoFE68KxEDKVInZcT+05WI3EWrIdGGgpKR7ssjpV9ybk5tlvekBCWm2/lYg724fkuG sE8uTsBrqhOmuM6E+7CU78aBTy/5Pko76+LGpToyHR+o3QrhcEabnQVOauyBIs+37dUn DMsElKvkmnfzJVMVS750OK6cXB5zVk2kLUjRieXpFIBcJwXL2iT+Y3NB/YntmxcC5RPh vxxFgacoPQZ/mK3quH+oSXVPZngKSNRi/OmxfIutzKjaNlxdU3vvHnLWItnugvLj9A49 A+ZBuWywEOUX/pX/P6we02NwAOnPPk/k7cTRXdhKE5Z8R+Vrkvfg6+O1YzALqIJzbTuE kygA== X-Gm-Message-State: AOJu0YzjP//0m289FSCQKoJM5kDuqjqSwgSTbh/6aTDifpuRmORdqpHj YLx6VjE0EO3p20dib4q9vfk= X-Google-Smtp-Source: AGHT+IFeNn9/vipz8/Nu2Ehii7YQhqxi2lGyf3aiu+dh4dSB3B3g1egfPARGSMecNB+GjQmupZXrAA== X-Received: by 2002:a05:6512:3ba2:b0:504:30eb:f2ac with SMTP id g34-20020a0565123ba200b0050430ebf2acmr3313496lfv.68.1699796237913; Sun, 12 Nov 2023 05:37:17 -0800 (PST) Received: from smtpclient.apple (c188-150-165-235.bredband.tele2.se. [188.150.165.235]) by smtp.gmail.com with ESMTPSA id j22-20020a056512109600b00502e01d1383sm626169lfg.27.2023.11.12.05.37.16 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 12 Nov 2023 05:37:16 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Subject: Re: bug#67008: 30.0.50; Multiple major mode parents From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: Date: Sun, 12 Nov 2023 14:37:15 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> To: Stefan Monnier X-Mailer: Apple Mail (2.3654.120.0.1.15) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) 11 nov. 2023 kl. 21.13 skrev Stefan Monnier : > Having read a bit further, I'm now not sure that `merge-ordered-lists` > implements C3. I suspect it provides a useful primitive with which to > implement C3 but whether it gives the same result as C3 or not depends > on how we call it. Yes, the output seems very sensitive about the input order: (B A) (C A) (D B) (E D C) -> (E D B C A) (E D C) (B A) (C A) (D B) -> (E D C B A) Maybe that's obvious for someone who knows how to use it. It could probably be used as a general-purpose topo-sorter but it's not = a very efficient one (at least quadratic, possibly cubic). Oh, and the function probably shouldn't call delq on its input argument. From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 12 11:05:00 2023 Received: (at 67008) by debbugs.gnu.org; 12 Nov 2023 16:05:00 +0000 Received: from localhost ([127.0.0.1]:56810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2CxI-0001lU-Co for submit@debbugs.gnu.org; Sun, 12 Nov 2023 11:05:00 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:21741) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2CxG-0001lA-VF for 67008@debbugs.gnu.org; Sun, 12 Nov 2023 11:04:59 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 914334409DD; Sun, 12 Nov 2023 11:04:11 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1699805050; bh=T7eiyUYA5zwPciJQ3ZPllvP1czoot6BoPQyNeY0aLDE=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=OOIRApOqGX2AEZKN3MJGfQFxLFHw7hzRwDXc5TLkhq110yMHPp38KrwDgb/bkMx/N lTZa+jXoHylT8kTnctOiFyTZuPbAaviDJtL2CRkk0BEzaf01zSeKZ3ukKQzKOuuMv6 N2diPDVmdABgC/xiE0zgIb9On3vt71SZoq0uOg+Z6bYGhL2ice8ZbaFvFOWF1y/i2a JXZs6WbcVuES8GipWEGHHqgVQIn1bzwMImrAvjbqHDmG3uwWqzjW1/c9HRsXzRAO4v U6YTX7kRrtlPbSNIrS+H3h1bKXI+UsxK22cclchKQTcIKc+vW8VKRSsV2tT/IS3Acu Jr02yd+JXGUxw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 6FE07440C67; Sun, 12 Nov 2023 11:04:10 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 4959A1202C0; Sun, 12 Nov 2023 11:04:10 -0500 (EST) From: Stefan Monnier To: Ikumi Keita Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: <65513.1699782620@localhost> (Ikumi Keita's message of "Sun, 12 Nov 2023 18:50:20 +0900") Message-ID: References: <51598.1699705296@localhost> <65513.1699782620@localhost> Date: Sun, 12 Nov 2023 11:04:10 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.023 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >>> It seems to me very difficult to arrange the proposed feature to cover >>> category [b], looking at its way to handle mode alias. >> Maybe there's something I'm missing, but the change was simple and I >> believe it does address your use case. Indeed, I was missing something and it's a bit more tricky than I thought, but I found a way to address it now. > Now I think I can settle out the AUCTeX feature branch in clean and > consistent way. Excellent, thanks, Stefan From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 12 11:42:26 2023 Received: (at 67008) by debbugs.gnu.org; 12 Nov 2023 16:42:26 +0000 Received: from localhost ([127.0.0.1]:56846 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2DXW-0002qe-I0 for submit@debbugs.gnu.org; Sun, 12 Nov 2023 11:42:26 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:34631) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2DXU-0002qN-C5 for 67008@debbugs.gnu.org; Sun, 12 Nov 2023 11:42:25 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 5DCB3440876; Sun, 12 Nov 2023 11:41:37 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1699807296; bh=zdiyGw4vlk2DnmxllCiBeCZuuE6enGs04WVBd28mJ2M=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=go3Zccoi5vZ0yqKxPxIeCf5GSujtHTil3BaaWBc7drs7TlBrM9OeWBHMtUCGvZ/uf 9SS2Zo2Qcpt/WkfwBSVtB2FMu8PKv7BJDdEV3CeGC8OyfxeHDs+SXtPdTzXJTJRXnN D/FObI4nyRjnpMGsOH0PFY0Xa30B9cgBm5MMapUPLlqEywxdj4gfuhZ2oHA4mjjYUL DI7rdF1eIhLv759idFqP7WFSVAqJv3+7MRG6XGsNmo+dC8XgjX/bC2gd/mgfzzinX2 OKt+oSRGlr3o3s8MSgxSQ8+bZBwjgm/Lb1BD8YHOFpj5HAGZrHGQz9njNd9slpQKCZ kHp4JvG+UqLRA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 3F56E4409DD; Sun, 12 Nov 2023 11:41:36 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 08DE51203DD; Sun, 12 Nov 2023 11:41:36 -0500 (EST) From: Stefan Monnier To: Mattias =?windows-1252?Q?Engdeg=E5rd?= Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: ("Mattias =?windows-1252?Q?Engdeg=E5rd=22's?= message of "Sun, 12 Nov 2023 14:37:15 +0100") Message-ID: References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> Date: Sun, 12 Nov 2023 11:41:35 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.023 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> Having read a bit further, I'm now not sure that `merge-ordered-lists` >> implements C3. I suspect it provides a useful primitive with which to >> implement C3 but whether it gives the same result as C3 or not depends >> on how we call it. > Yes, the output seems very sensitive about the input order: > > (B A) (C A) (D B) (E D C) -> (E D B C A) > > (E D C) (B A) (C A) (D B) -> (E D C B A) Yes, that's on purpose: when the dependencies expressed by the (sub)lists don't enforce a unique solution, the order between the (sub)lists is used to choose between the available options. > Maybe that's obvious for someone who knows how to use it. I improved the docstring to try and clarify. > It could probably be used as a general-purpose topo-sorter but it's not > a very efficient one (at least quadratic, possibly cubic). Also it doesn't start from a graph but from a lists of lists (because for uses in method inheritance it's very desirable that the ordering be "monotonic": if A comes before B in the linearization of class C's parents then the same should be true in the linearization of all its subclasses). Stefan From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 12 17:12:16 2023 Received: (at 67008) by debbugs.gnu.org; 12 Nov 2023 22:12:16 +0000 Received: from localhost ([127.0.0.1]:57198 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2Igi-0003OO-Ij for submit@debbugs.gnu.org; Sun, 12 Nov 2023 17:12:16 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:34350) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2Igd-0003O7-Vm for 67008@debbugs.gnu.org; Sun, 12 Nov 2023 17:12:15 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 115FA4417F6; Sun, 12 Nov 2023 17:11:25 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1699827084; bh=JHzv43LAUo7prrpOHk+qRnyDHdos8GeDmMwKcNXqcpg=; h=From:To:Subject:In-Reply-To:References:Date:From; b=Qk7wt6Q81TihGwtGbR9ISe3T8jO+xx1N9QEuByCXPJL9QMNFjRGl/C+ZqeBol7maL yjTkq9Kls2zYkz8KofH4DVldzxty8JL8NWQeS4irJeBNfprhUcyzKlznuUkgv87RYN TUWW/0QE/4MC19O8mUQcLDfTW47XOkUjHySzamoWbPN5m9h2fP2XF/TCVbeHaQZSJP CZ4jDvaUR3Aw/sVR66Z0S5h0q4fLykszqeBemUqAMNeUy0gZkzPXixEy6zZs0xM/2A Ek34ClCX3oDLAaBx9vGjLxWvTW1FZO2TN/TZPyLLXP4pnwlQCwIuEz24CMMNT6lUYr R7/lLoN0EMkMw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 2F7034413F9; Sun, 12 Nov 2023 17:11:24 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E45F212022F; Sun, 12 Nov 2023 17:11:23 -0500 (EST) From: Stefan Monnier To: 67008@debbugs.gnu.org, Ikumi Keita Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: (Yuan Fu's message of "Wed, 8 Nov 2023 23:43:10 -0800") Message-ID: References: Date: Sun, 12 Nov 2023 17:11:22 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.022 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67008 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> You can see below the corresponding commit log. >> There are no doc (or etc/NEWS) changes yet. >> Any comment/objection? I have now added some doc in `modes.texi` as well as two etc/NEWS entries. Barring objection, I intend to push this to master in a few days. Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 13 07:46:57 2023 Received: (at 67008) by debbugs.gnu.org; 13 Nov 2023 12:46:57 +0000 Received: from localhost ([127.0.0.1]:57640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2WL7-0003UI-3t for submit@debbugs.gnu.org; Mon, 13 Nov 2023 07:46:56 -0500 Received: from mail-lf1-x12a.google.com ([2a00:1450:4864:20::12a]:54783) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2WL4-0003Tx-Gs for 67008@debbugs.gnu.org; Mon, 13 Nov 2023 07:46:51 -0500 Received: by mail-lf1-x12a.google.com with SMTP id 2adb3069b0e04-507a29c7eefso6043114e87.1 for <67008@debbugs.gnu.org>; Mon, 13 Nov 2023 04:46:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699879562; x=1700484362; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=JK204tibekASybXQh9YneLtRqT8cFhfw2gbp0dkks1c=; b=g34oITJQPu8U9jxDK+zCiJ3bSbUbSIiQc3zJZNUmKOstEUe2kfFNwunvNW7DNsIi6V PQ5VQY692Jn3DXk+KtRxfkxVkOEv7ZDr38Rao61V+FgcUqPCeMTp48+bi9jIXvgbRxm1 GVMMX35dE2hOkmo6aW/nJ5lp3sBKZBX6U0OmwbtCj0yzk1R9Yqp+HuOFTh+ixjXrAdSh +FXlE4aKveyaslUAZkCPDuafK7c3FkS/3RK2whnX6BJVTYPSyDqfYJ25+0y55t21s6Gi Fq7JAGmVqTwo4F7UVia67wUftldcSbiQAw5CmNdPbT5P8uKG0lkSP5PWmqOdxlZSt3dE GYXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699879562; x=1700484362; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=JK204tibekASybXQh9YneLtRqT8cFhfw2gbp0dkks1c=; b=JwHwZ80ZM1OLLMsTTEvj5Oot0BbtA7MvPcxIbbQkr8o0CCqKaigL4yzKZuj8BceJJd pTXg1v1Lg3u6yLG6k9wdrjRLy7ZAi0RAgctcaqxL3oqi2A5kV6fB0sX81y/7H58sk3pE 3lgUfcczODd7oEaH3EYzpGqLjMitxGQR4yXfyG4UDKlg7X0HSn01xn2up9CL2ccXFI59 2mjuvmCtjYgglwZe5E3GaYYDlgS2tZLsNxzf6yscGIAkl5pLb4fCjeLw4V0hTN2bTIxh H3ApYQVeEyHgknnQDkzdAw1sImR2wAsb8a4lzGsjQ9J7re+w46lpvX85w1dj60aSB3aa rtEA== X-Gm-Message-State: AOJu0YxuVloMCDepSI8MJ8STRfDgaNS/Nq3MdS3Mq6vqX4fbKU1DdJnM KkOkqv6t6pJBvVnWptOpI8k= X-Google-Smtp-Source: AGHT+IFC7UCOp5VVim9aY/jxznlC4JXHgv222x9kNug7vSDsiJckVs1EnMa5BAAW+VzSUOnMY0nWLA== X-Received: by 2002:a19:f807:0:b0:509:43ec:dd4c with SMTP id a7-20020a19f807000000b0050943ecdd4cmr4203790lff.3.1699879561785; Mon, 13 Nov 2023 04:46:01 -0800 (PST) Received: from smtpclient.apple (c188-150-165-235.bredband.tele2.se. [188.150.165.235]) by smtp.gmail.com with ESMTPSA id c10-20020a056512104a00b005092e621916sm951449lfb.222.2023.11.13.04.46.00 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 13 Nov 2023 04:46:00 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Subject: Re: bug#67008: 30.0.50; Multiple major mode parents From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: Date: Mon, 13 Nov 2023 13:45:59 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <7C4E82A5-0F5A-4E04-B2BD-AD6DEC56A8C0@gmail.com> References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> To: Stefan Monnier X-Mailer: Apple Mail (2.3654.120.0.1.15) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) 12 nov. 2023 kl. 17.41 skrev Stefan Monnier : > I improved the docstring to try and clarify. Thank you, but the new text, > +The order of the (sub)lists determines the final order in those cases = where > +the order within the sublists does not impose a unique choice. still doesn't explain how the sublist order affects the choice of = linearisation. Since I'm here: > (while (cdr (setq lists (delq nil lists))) When this loop is entered the first time, `lists` still holds the = argument which probably shouldn't be mutated even if it's for removing = empty lists inside. (In later iterations it seems to be a copy.) +(ert-deftest subt-tests--merge-ordered-lists () ^ r + (should (equal (merge-ordered-lists + '((B A) (C A) (D B) (E D C))) + '(E D B C A))) + (should (equal (merge-ordered-lists + '((E D C) (B A) (C A) (D B))) + '(E D C B A))) + (should-error (merge-ordered-lists + '((E C D) (B A) (A C) (D B)) + (lambda (_) (error "cycle"))))) All calls should error on cycles, not just the one that actually = contains one. Maybe the default value for the `error-function` argument should be one = that raises an error, so that callers need to specify something = explicitly if they want a different behaviour? From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 13 08:31:14 2023 Received: (at 67008) by debbugs.gnu.org; 13 Nov 2023 13:31:14 +0000 Received: from localhost ([127.0.0.1]:57663 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2X22-0004t0-2C for submit@debbugs.gnu.org; Mon, 13 Nov 2023 08:31:14 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:30041) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2X1z-0004sm-Fw for 67008@debbugs.gnu.org; Mon, 13 Nov 2023 08:31:12 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 0FFF81000AD; Mon, 13 Nov 2023 08:30:24 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1699882223; bh=APztaK8xO88x9Rf4LXQr8D2oHvfs/MwGEPhrv/5lD1c=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=WX5r7NcgWbVDiiCD3tdw+9IDgUeX7eSvKbAgthJmln5doVvBWuFLQ9jG221hWchH2 UeZAGUWhsucZJ5pnPjKZYzfysOLLVZVj5DpiaL7EUFHlcSETN0HDfPAm1r1hZtaJz3 wTVQ6HHHACdMpwwPs4/cQIfbEk04I16ilvQzPJElg316bnXOzpOxJtmJSKFD6aDiG1 k9m2A1NTtnGAuihALX9dCIXk0r0rnJT0wsXMDY9cXzADiA5H7h4MEVLJfTJMo3ebi0 GldpNA4E5ky1qCSigfsv5H+YDLxTu6pqOtYZk74AJGfAXOTsykrASLr17SlJ3037Iq dcXpsYIS3Altw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 5E066100061; Mon, 13 Nov 2023 08:30:23 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 2ACCE120270; Mon, 13 Nov 2023 08:30:23 -0500 (EST) From: Stefan Monnier To: Mattias =?windows-1252?Q?Engdeg=E5rd?= Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: <7C4E82A5-0F5A-4E04-B2BD-AD6DEC56A8C0@gmail.com> ("Mattias =?windows-1252?Q?Engdeg=E5rd=22's?= message of "Mon, 13 Nov 2023 13:45:59 +0100") Message-ID: References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> <7C4E82A5-0F5A-4E04-B2BD-AD6DEC56A8C0@gmail.com> Date: Mon, 13 Nov 2023 08:30:22 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.133 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> I improved the docstring to try and clarify. > Thank you, but the new text, >> +The order of the (sub)lists determines the final order in those cases where >> +the order within the sublists does not impose a unique choice. > still doesn't explain how the sublist order affects the choice of linearisation. Suggestions welcome to make it better. I couldn't come up with a wording that is both short enough and clear. > Since I'm here: >> (while (cdr (setq lists (delq nil lists))) > When this loop is entered the first time, `lists` still holds the argument > which probably shouldn't be mutated even if it's for removing empty lists > inside. (In later iterations it seems to be a copy.) I guess you're right. The list passed to it is always freshly made, so it's not a real problem in practice, but it's a bit ugly. > +(ert-deftest subt-tests--merge-ordered-lists () > ^ > r Damn, you caught my subt-erfuge! > + (should (equal (merge-ordered-lists > + '((B A) (C A) (D B) (E D C))) > + '(E D B C A))) > + (should (equal (merge-ordered-lists > + '((E D C) (B A) (C A) (D B))) > + '(E D C B A))) > + (should-error (merge-ordered-lists > + '((E C D) (B A) (A C) (D B)) > + (lambda (_) (error "cycle"))))) > > All calls should error on cycles, not just the one that actually contains one. Fair enough. > Maybe the default value for the `error-function` argument should be one that > raises an error, so that callers need to specify something explicitly if > they want a different behaviour? I decided against that because the existing evidence is that we prefer to hide the problem than to signal an error. Part of the issue is also that in practice most "cycles" aren't real: they are the result of submode/subtype relationships where two types/modes have linearized their parents in incompatible ways. E.g. C inherits from (A B) D inherits from (B A) E inherits from (C D) there is no cycle in the inheritance, but since the linearization is done piecemeal (a.k.a locally), you get to merge ((C A B) (D B A)) and that finds a "cycle". That's why EIEIO calls it `inconsistent-class-hierarchy` rather than `cycle`. Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 13 11:45:16 2023 Received: (at 67008) by debbugs.gnu.org; 13 Nov 2023 16:45:16 +0000 Received: from localhost ([127.0.0.1]:59234 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2a3n-0004rf-Ki for submit@debbugs.gnu.org; Mon, 13 Nov 2023 11:45:15 -0500 Received: from mail-lf1-x136.google.com ([2a00:1450:4864:20::136]:57488) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2a3l-0004rQ-Re for 67008@debbugs.gnu.org; Mon, 13 Nov 2023 11:45:14 -0500 Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-5094cb3a036so6431882e87.2 for <67008@debbugs.gnu.org>; Mon, 13 Nov 2023 08:44:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699893866; x=1700498666; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=iVjqLh+rLuXjxPGhxhuSusUqNz5bmHzNdWdqj0GiLY0=; b=VRfpKR6ysNwZHr44cw8fjEX9/JlVd2FhAcUtFIO5y3uzVFvfxUOaUBLSlmvXs1E/Tn 5HcZiujN6YkH3HbKk+O5qIa7aXRbmz/9+SZ9gJi2u2UqNbrU5Sp+yLjtSEHeaBR1IWli 0p5PIaclZHXAceGH1TWLVVjrgoHo1bPmETLigMseEo5gxheZu0rkGpuKpMGk/2mNHJfS m8VvVh7ViTS1iz2RgErhwKb/Zq5BAOiKrum1WgDKlbYgTdy9CWZdRH4+MsXvakxM1DjG 8hL0aHcMXVnw6l9rsOgGOJHQxG5oFeAvGadAjrnff4s1DOU1CHV7XxevawZaz8lDwx1Y 3sBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699893866; x=1700498666; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=iVjqLh+rLuXjxPGhxhuSusUqNz5bmHzNdWdqj0GiLY0=; b=S/LUUfpXANmAOGKwHlLNB4f7tuA+deWAFb4mcMxSyPHcVVPiF0tNPTcAMSZj2KHT5v Q4gHi1fHxXTK35C1+lynGsEFh3CLSv+o2AQ3yynlVaCSLxgO18WHq/X1OqAFIS6sBHPu hGce/STS/gY+V2c+MH7G/BjxmuGCddF0uZyYCVF7Zim4VTOkAx0L7mrFVqPFVHKbH8Ch N1hQsstzAmakezDWWsNafM09S763Y8YfOtN5VVH6RUTOLYN/jN35eNV1p0rUhn0jufNu JJsEas7f7ZHLl41cECKiSeJgP8ZL8bMv3JPh2sLPdolRoixcsaiIJu300AaL+NlG4TvW UyQA== X-Gm-Message-State: AOJu0YzwrNoxhzS2w1FZhC9AYYGFkzmkFYLP5WxRZotq5jwl9Lmp1znb dFfB2Gv934KxYq1bNHXcKUD5y+g6ysY= X-Google-Smtp-Source: AGHT+IEtfida5R55RYvJPGDgQEqpw3zvgJtNyeij14leFmVAbmXbR+zRL2npRSaI8TjR/5HCHCi+7A== X-Received: by 2002:ac2:5ecb:0:b0:509:377a:26d9 with SMTP id d11-20020ac25ecb000000b00509377a26d9mr4578184lfq.8.1699893865684; Mon, 13 Nov 2023 08:44:25 -0800 (PST) Received: from smtpclient.apple (c188-150-165-235.bredband.tele2.se. [188.150.165.235]) by smtp.gmail.com with ESMTPSA id m21-20020a0565120a9500b0050482b29ac8sm1023050lfu.31.2023.11.13.08.44.25 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 13 Nov 2023 08:44:25 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Subject: Re: bug#67008: 30.0.50; Multiple major mode parents From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: Date: Mon, 13 Nov 2023 17:44:24 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <2D8636AB-AB86-4FB5-BCCB-E10D0B9CD8C8@gmail.com> References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> <7C4E82A5-0F5A-4E04-B2BD-AD6DEC56A8C0@gmail.com> To: Stefan Monnier X-Mailer: Apple Mail (2.3654.120.0.1.15) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) 13 nov. 2023 kl. 14.30 skrev Stefan Monnier : > Suggestions welcome to make it better. I couldn't come up with > a wording that is both short enough and clear. Nor can I, not without re-reading the C3 paper more closely (it was many = years ago) and scrutinising your code. Intuitively though, wouldn't we distinguish vertical (class-parent) = edges from horizontal (parent-parent) ones? Use stiffer springs when = building the former? From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 13 12:50:03 2023 Received: (at 67008) by debbugs.gnu.org; 13 Nov 2023 17:50:03 +0000 Received: from localhost ([127.0.0.1]:59296 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2b4V-0006dA-E8 for submit@debbugs.gnu.org; Mon, 13 Nov 2023 12:50:03 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:15942) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r2b4S-0006cb-Sx for 67008@debbugs.gnu.org; Mon, 13 Nov 2023 12:50:01 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 445B9100068; Mon, 13 Nov 2023 12:49:13 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1699897748; bh=1HgRCU5UYaEOqJ+C5JKlDw7s7Ujy2xZ/9pVrBUnYMX0=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=cm9IRxDmabVuAxXzUrxdqyMi8B+Jtm7qr34j4eRHDTVPStons5loIvbjpwoDvQSAo MVG1tFrBX4+g6jAaJ/49YeCs2QBKrrSKrT67TjDJbQ+pRBfCjKG2Pv4amcbvuB2Jzu oDxlslqbRUnoTroQ4cS2/wu6+yRnaHxOCULJOG1NDIaHAlX6BbKPb6w/4LjoVDXVlw kk/s/DlUWjG44XP+3lQ8CY+CDo+0yCvNZrQ6dZGfiwHUnR44wE7t8LXDOpv/uwmqoY e4yqqi5BS3yBZkbZOMdBmCcFgQCGpFG/6gUmKyrcYeSHrL98TLjQIZeawHKfEKgJBf if/BAwQoNdKWg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 73B84100033; Mon, 13 Nov 2023 12:49:08 -0500 (EST) Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 5B59E12040A; Mon, 13 Nov 2023 12:49:08 -0500 (EST) From: Stefan Monnier To: Mattias =?windows-1252?Q?Engdeg=E5rd?= Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: <2D8636AB-AB86-4FB5-BCCB-E10D0B9CD8C8@gmail.com> ("Mattias =?windows-1252?Q?Engdeg=E5rd=22's?= message of "Mon, 13 Nov 2023 17:44:24 +0100") Message-ID: References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> <7C4E82A5-0F5A-4E04-B2BD-AD6DEC56A8C0@gmail.com> <2D8636AB-AB86-4FB5-BCCB-E10D0B9CD8C8@gmail.com> Date: Mon, 13 Nov 2023 12:46:41 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.087 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Intuitively though, wouldn't we distinguish vertical (class-parent) edges > from horizontal (parent-parent) ones? Use stiffer springs when building > the former? Yes we strictly obey the vertical edges (and call `error-function` when that's not an option) and we use the horizontal edges when there's a choice. E.g. for (B A) (C A) (D B) (E D C) -> (E D B C A) vs (E D C) (B A) (C A) (D B) -> (E D C B A) the vertical edges force the "E D" at the beginning and the "A" at the end but it's the horizontal edges that make us prefer "B C" in the first case and "C B" in the other. This is because after removing the "E D" which are uniquely determined by the vertical dependencies we're left with: (B A) (C A) (B) (C) vs (C) (B A) (C A) (B) So we continue with "B" in the first case and with "C" in the second. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 16 06:08:10 2023 Received: (at 67008) by debbugs.gnu.org; 16 Nov 2023 11:08:10 +0000 Received: from localhost ([127.0.0.1]:54573 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3aEE-0004zS-Ab for submit@debbugs.gnu.org; Thu, 16 Nov 2023 06:08:10 -0500 Received: from mail-lf1-x129.google.com ([2a00:1450:4864:20::129]:60527) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3aEB-0004z0-9x for 67008@debbugs.gnu.org; Thu, 16 Nov 2023 06:08:08 -0500 Received: by mail-lf1-x129.google.com with SMTP id 2adb3069b0e04-507962561adso975249e87.0 for <67008@debbugs.gnu.org>; Thu, 16 Nov 2023 03:08:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700132881; x=1700737681; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=NYoEnfrT96UmRodfCnmPGOhzLwUio7K2aNkVcpIvtoA=; b=ixP04oSUzNWDHAKda8cDcEH7rNUuee9ZDNLEEX/2jj3tcYwgE/O+FNU2VmrKhB5XZb SZd5Wuo3RjqjmhdynUmGyHlSDM3j/WCBxuEK2DAyZ0RkV/P4WZrLbVzrrzJtLJy5kgxQ PoJFQG+1SSdsLI/72X/+ZBvdU6jp/ypjBS50MAy711+fYmbQb8ZpcUXfzLU4ARTTIRKo y5xPNjMM2D3wNpPUuEgd6VGvPiyFSvcImHpjQvnmbjlciP97HMdYprocR0o99pxuOm+p 0F4vG9+izsDtDP7MpLkKSIHMwoMKxg+wLpcpcxHsyTGss4WCtJRXqx1pphS/PPbEzbbY ty7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700132881; x=1700737681; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=NYoEnfrT96UmRodfCnmPGOhzLwUio7K2aNkVcpIvtoA=; b=nhcl0WnnY9JHrdLH8tZ3aIkIKzuMldqp29AlM37re2D9xTMeTZ8jqOSpH06cBKXFfW bgzI2XR5cENbhUo9Efgxj49HqEb9ZAcPBZci1seLFjdzEnZyVjX67Lh0dfhdhXNxgzuG VsdM94AP/ActokbUOZ26IhNHZcSrcXxbpONGpk2yg4QePKTmmiPs8EVZJYUCw8B8zizD QfhNeUN6n31cfmr5g/h3Kp3tUgiL9Q/gdqBHOSCxAsDAIpnVbhzLa9GoaHFsFXD/mX8c bQxhDkjPy8c4u6Ep41En2VgEF+GYRUbMqahAS8cRC858qU3/r6HGAM2JMVMeR95dHyyd UHog== X-Gm-Message-State: AOJu0YyeIfxFYqCTASehl7IcVLhlvZpyckCsNpo4qy68nTGQyJbHNeBq tYcJgwvoNgd1qdZvySIY2IY= X-Google-Smtp-Source: AGHT+IHgnklNK84Bzq2hj7o8qkmMKLfUDGP0IBhq1mv4Vz1uZey4xd9bVtMRAhBjIS9rp5PlUoD5Hg== X-Received: by 2002:a19:7013:0:b0:505:8075:7c10 with SMTP id h19-20020a197013000000b0050580757c10mr10215351lfc.25.1700132881305; Thu, 16 Nov 2023 03:08:01 -0800 (PST) Received: from smtpclient.apple (c188-150-165-235.bredband.tele2.se. [188.150.165.235]) by smtp.gmail.com with ESMTPSA id c20-20020a056512075400b005068e7a2e7dsm1921318lfs.77.2023.11.16.03.08.00 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 16 Nov 2023 03:08:00 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Subject: Re: bug#67008: 30.0.50; Multiple major mode parents From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: Date: Thu, 16 Nov 2023 12:07:58 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <7717747E-42EB-445A-8487-822C0E932465@gmail.com> References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> <7C4E82A5-0F5A-4E04-B2BD-AD6DEC56A8C0@gmail.com> <2D8636AB-AB86-4FB5-BCCB-E10D0B9CD8C8@gmail.com> To: Stefan Monnier X-Mailer: Apple Mail (2.3654.120.0.1.15) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Yes we strictly obey the vertical edges (and call `error-function` = when > that's not an option) and we use the horizontal edges when there's > a choice. Yes, but `merge-ordered-lists` doesn't distinguish between vertical and = horizontal edges in any way, does it? We only get a consistent = (monotonic) result if the input is ordered correctly. In that respect `merge-ordered-lists` is just half an algorithm. We = could add the other half but presumably this wouldn't be a good fit in = places where the function is currently used? The other half might be something like: compute the linear order for = each parent in sequence, then add the partial order (NODE = PARENT1...PARENTn). The documentation text > The order of the (sub)lists determines the final order in those cases = where > the order within the sublists does not impose a unique choice. > Equality of elements is tested with `eql'. could perhaps be written more precisely to say that when the constraints = do not impose a relative order between elements (not sublists), they are = ordered by their occurrence in the input. `merge-ordered-lists` should also have the left-to-right property that (merge-ordered-lists (append X Y)) =3D (merge-ordered-lists (cons (merge-ordered-lists X) Y)) although I haven't verified this. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 16 10:15:39 2023 Received: (at 67008) by debbugs.gnu.org; 16 Nov 2023 15:15:39 +0000 Received: from localhost ([127.0.0.1]:57417 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3e5i-0007NJ-AH for submit@debbugs.gnu.org; Thu, 16 Nov 2023 10:15:39 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:36012) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3e5a-0007Mz-7h for 67008@debbugs.gnu.org; Thu, 16 Nov 2023 10:15:37 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id B68BC1000AD; Thu, 16 Nov 2023 10:15:24 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1700147724; bh=a9F/QOG1dKRZziL2ktAOJ+bXxH8FUOkvJkXAKwefjKs=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=nxkKXR/s35EoTimA73m6OLiUHWYuDft6e/zVTpY8Xe1oBIE2qrvOReLCIGdb8HtdX e0EoV0V2coY1uhDHImyAopoI6LITkv6qajmvriqqA22eGZP2sym2mpEqGDeXuVLYzL 92N0yk7uZMH9a+Kx3DHgjlpC/34J/CJvoa8EK5Xe/A+eupZZOgX938X6Et2fZh2aSa ukke212/wmpbkMFUk6g0O16dHQKMxYdPQ4QndwDM6lSQ6XvXcmRQw6jE6xMwUodMQ4 2EmLCZVP9xQ7qbqn6yye8UF0IiNWSYzDp4kuP+K3/QTcaehhoj0LqEnf/tfsiV62vy v/K39PZw0PJEg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 071AC100043; Thu, 16 Nov 2023 10:15:24 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id CA19D1203D8; Thu, 16 Nov 2023 10:15:23 -0500 (EST) From: Stefan Monnier To: Mattias =?windows-1252?Q?Engdeg=E5rd?= Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: <7717747E-42EB-445A-8487-822C0E932465@gmail.com> ("Mattias =?windows-1252?Q?Engdeg=E5rd=22's?= message of "Thu, 16 Nov 2023 12:07:58 +0100") Message-ID: References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> <7C4E82A5-0F5A-4E04-B2BD-AD6DEC56A8C0@gmail.com> <2D8636AB-AB86-4FB5-BCCB-E10D0B9CD8C8@gmail.com> <7717747E-42EB-445A-8487-822C0E932465@gmail.com> Date: Thu, 16 Nov 2023 10:15:22 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.132 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> Yes we strictly obey the vertical edges (and call `error-function` when >> that's not an option) and we use the horizontal edges when there's >> a choice. > Yes, but `merge-ordered-lists` doesn't distinguish between vertical and > horizontal edges in any way, does it? The text I wrote above says that it does (and I stand by it, and your test cases additionally shows that it does), so I don't understand the question. > We only get a consistent (monotonic) result if the input is > ordered correctly. Not sure what you mean by that. The vertical edges are the ones that need to be obeyed to guarantee monotonicity (because they are the ones that come from linearizations of other classes), the horizontal ones represent the preferences expressed by the order in which direct parents are listed by the programmer, so they are "softer". > In that respect `merge-ordered-lists` is just half an algorithm. We could > add the other half but presumably this wouldn't be a good fit in places > where the function is currently used? > The other half might be something like: compute the linear order for each > parent in sequence, then add the partial order (NODE PARENT1...PARENTn). If that's what you want to compute, then yes, that's what you need to do :-) > The documentation text > >> The order of the (sub)lists determines the final order in those cases where >> the order within the sublists does not impose a unique choice. >> Equality of elements is tested with `eql'. > > could perhaps be written more precisely to say that when the constraints do > not impose a relative order between elements (not sublists), they are > ordered by their occurrence in the input. I'm not super happy with my phrasing, but I must say that really your above paragraph I don't really know what it means either, so for me it's a wash. I have now pushed my code to `master`, so feel free to update the docstring there as you see fit. > `merge-ordered-lists` should also have the left-to-right property that > > (merge-ordered-lists (append X Y)) > = (merge-ordered-lists (cons (merge-ordered-lists X) Y)) > > although I haven't verified this. Let me know if you find out. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 16 10:16:37 2023 Received: (at 67008-done) by debbugs.gnu.org; 16 Nov 2023 15:16:37 +0000 Received: from localhost ([127.0.0.1]:57422 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3e6e-0007P4-Ps for submit@debbugs.gnu.org; Thu, 16 Nov 2023 10:16:36 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:50437) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3e6c-0007Op-K3 for 67008-done@debbugs.gnu.org; Thu, 16 Nov 2023 10:16:35 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 767F544231F; Thu, 16 Nov 2023 10:16:29 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1700147788; bh=5vyAM3sFkstgG1/iA4/FfTZGPZuwN6e5DL3xwD/hHeo=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=XxELex99Q3ZK52j9sRmnxZjr0/rnzFRzgl2UEZiZEpfu82luqXuFt618tXWtei9ZL DmgLM7wSFWCFV6FvDgqTU1SqyU+YhFi4up9KfcFIKLsOTba0jsYXnTqKOCZE+8r5QT 1Vn6G5IhdweVezlhAIst2+Vw1guHSTopQwZVLNCg/bgbp+YtOpJ58C+hmtrvUDsj6A XSxnTPaNaRL6uKgLVdpo41d9HjU3JGKHfSF3iNU3OHhjUFjh78NJYVuuvGnn8Mtnb5 IpITek23CLtWIhU2HZewWQRxzpE0fh4eXW7jxDYPxCJB64wpZ2GgNif8gdR2diE+GI YI7artcZBt4Vg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id A2AD044232A; Thu, 16 Nov 2023 10:16:28 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 7F47212022D; Thu, 16 Nov 2023 10:16:28 -0500 (EST) From: Stefan Monnier To: 67008-done@debbugs.gnu.org Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: (Stefan Monnier's message of "Sun, 12 Nov 2023 17:11:22 -0500") Message-ID: References: Date: Thu, 16 Nov 2023 10:16:27 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.027 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67008-done Cc: Ikumi Keita X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Barring objection, I intend to push this to master in a few days. Done, closing, thanks, Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 16 14:36:05 2023 Received: (at 67008) by debbugs.gnu.org; 16 Nov 2023 19:36:05 +0000 Received: from localhost ([127.0.0.1]:44649 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3i9l-0004JB-9d for submit@debbugs.gnu.org; Thu, 16 Nov 2023 14:36:05 -0500 Received: from mail-lf1-x130.google.com ([2a00:1450:4864:20::130]:56457) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3i9h-0004IZ-TN for 67008@debbugs.gnu.org; Thu, 16 Nov 2023 14:36:04 -0500 Received: by mail-lf1-x130.google.com with SMTP id 2adb3069b0e04-507a55302e0so1849953e87.0 for <67008@debbugs.gnu.org>; Thu, 16 Nov 2023 11:36:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700163356; x=1700768156; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=KASaw0Y4f/3so2WiMqCwQDlURw/RwywRkXSWYliWzW0=; b=Ppnr2NMN6DJ2l61qMXMrj8/ozgtT2KdYR7RW0gVsOTQuZbx68gNX40tf2uqgBylro7 /6QJfxPQKKr6wvTz1c0AKWcH9FHotsbrlezfYb+9vEzqD3Zz2fljxZxsI2mkmYgSCj34 V5y3/4o7Mqyy+v95f+sVNZ45LVK4lDVU9oqCz7gA9QieWZs2XhVmgws0QlR601bjD/Ok K55F+w6X1d7+kqhHwLRscgougRdRkrtcFu6tmeKCzINj3kR/6/fzPVrM4qWJURg/3ybO 0gLih2B2HSKWCUNu0bgkleuvOPVO+rewX/SxwS3PBH6q1Hr1+MB2G6LCmQ8tog4xgS0L BEWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700163356; x=1700768156; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=KASaw0Y4f/3so2WiMqCwQDlURw/RwywRkXSWYliWzW0=; b=FFPyJCLp8ifKgKZW5uwgMkwnE7iYSkuMEetMHcA1JJheVGkG19K5gY7FAwsY3o+xsW 9AAFHV32DVEvHENM4JUjMByUKOc4b3QcA46rvpv5JsLpaWZxKxNrHK87tJVMCdbQDQ2/ TiHaJPpEdsEGC/GuCKc/4EJVV2RLGwO4bqpplogb3PKN/fFl1iRynT2nrIkuiFA1JD0v VXDCjOuB2F/ZgJupploB1r5HkiXtOFhMXUk500KJVtIcJ84rXSgz9HR3In617MjRjQYg uWTNQe/Q2m4SReUL3DHROFpsQrMy7u/n7nR9FzWka0q97XEAVgDOPGn5pPWGTKmyD6xQ wJKA== X-Gm-Message-State: AOJu0YwoeMxCaNfqgFfVk6kBUBAeUrO9DEKYxeD/8soEaNgICLoSTeeL ctW4a3rj0k6c2UEctFXmoaA= X-Google-Smtp-Source: AGHT+IGLgtzEYGWJxY6BEgjMwwf6Q+rTtylPKjjNsU4YTX6aym3dQJixHX0+GZd23gPQEn7cGJCgjg== X-Received: by 2002:ac2:4c4b:0:b0:506:8d2a:5653 with SMTP id o11-20020ac24c4b000000b005068d2a5653mr15667080lfk.47.1700163355753; Thu, 16 Nov 2023 11:35:55 -0800 (PST) Received: from smtpclient.apple (c188-150-165-235.bredband.tele2.se. [188.150.165.235]) by smtp.gmail.com with ESMTPSA id b22-20020a0565120b9600b0050a78566b1asm1824lfv.41.2023.11.16.11.35.54 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 16 Nov 2023 11:35:55 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Subject: Re: bug#67008: 30.0.50; Multiple major mode parents From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: Date: Thu, 16 Nov 2023 20:35:54 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> <7C4E82A5-0F5A-4E04-B2BD-AD6DEC56A8C0@gmail.com> <2D8636AB-AB86-4FB5-BCCB-E10D0B9CD8C8@gmail.com> <7717747E-42EB-445A-8487-822C0E932465@gmail.com> To: Stefan Monnier X-Mailer: Apple Mail (2.3654.120.0.1.15) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> Yes, but `merge-ordered-lists` doesn't distinguish between vertical = and >> horizontal edges in any way, does it? >=20 > The text I wrote above says that it does (and I stand by it, and your > test cases additionally shows that it does), so I don't understand > the question. That's because I didn't articulate it very well but reading your = elaboration I think we are in non-violent agreement. > I'm not super happy with my phrasing, but I must say that really your > above paragraph I don't really know what it means either, so for me = it's > a wash. Would something like this serve as a start? The return value is uniquely determined by the following rules: * The return value is a list containing each input element exactly once. * The relative order of two elements in the return value is determined = by their relative order in the sublists, so that the input ((C D) (A B = C)) implies that C precedes D, A precedes B, and B precedes C. * If two elements are not ordered by the previous rule, they are ordered = by the sublists they first occur in. For example, in ((A B) (A C)), B = precedes C. ...except that I notice that the first rule is broken if a sublist = contains duplicates (which seems wrong), or if the default error = function (caar) is used. I'm not sure I understand if this is correct, or why: (A) (A) -> (A) (A A) -> (A A) (A) (A A) -> error From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 16 16:40:29 2023 Received: (at 67008) by debbugs.gnu.org; 16 Nov 2023 21:40:29 +0000 Received: from localhost ([127.0.0.1]:44740 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3k69-0007bc-3N for submit@debbugs.gnu.org; Thu, 16 Nov 2023 16:40:29 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:2473) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3k63-0007bK-WB for 67008@debbugs.gnu.org; Thu, 16 Nov 2023 16:40:26 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 3F100807A7; Thu, 16 Nov 2023 16:40:18 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1700170817; bh=wEPTIseHYLpNqJTKVv3t2diIjOnd8ePPcy6XBEM1WgI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=CgIK3qs0yrqqxRB4DjA4VopAAnpEGhIGp5dt9p0fcX7P2NKUPqI/52GVgQpFab7CG k3S1inZ6vfs4M2b+g6wPz2aY/gq58ZK7dkVJSVZhKdJyZkOWy5YUaUa/oqaNnRYjTh kuXP6a9j/q6km1PwPPFeSwgwpYC5xrY34XswcYsxJloHfF7CwDhe8qm+bigFVKLHLN +fTTTJvFDJLw0+D9EHmhqcIoMoVoL+xmPVxYZ4uxUGOL6/yVwgj6ORgFioQqJgv4Ry qruBEaRAFL4ROlp/5oDWmdhEwT/FJ0VHVRvRetsvzEstrbEfxT05vgNvDGLC+a/0kF bpgrSnl6Z0PeA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 7200E8076B; Thu, 16 Nov 2023 16:40:17 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 3E2761202FF; Thu, 16 Nov 2023 16:40:17 -0500 (EST) From: Stefan Monnier To: Mattias =?windows-1252?Q?Engdeg=E5rd?= Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: ("Mattias =?windows-1252?Q?Engdeg=E5rd=22's?= message of "Thu, 16 Nov 2023 20:35:54 +0100") Message-ID: References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> <7C4E82A5-0F5A-4E04-B2BD-AD6DEC56A8C0@gmail.com> <2D8636AB-AB86-4FB5-BCCB-E10D0B9CD8C8@gmail.com> <7717747E-42EB-445A-8487-822C0E932465@gmail.com> Date: Thu, 16 Nov 2023 16:40:16 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.021 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > ...except that I notice that the first rule is broken if a sublist contains > duplicates (which seems wrong), Garbage in, garbage out, eh? > or if the default error function (caar) is used. Same. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 17 09:04:38 2023 Received: (at 67008) by debbugs.gnu.org; 17 Nov 2023 14:04:38 +0000 Received: from localhost ([127.0.0.1]:45563 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3zSY-0001OQ-0g for submit@debbugs.gnu.org; Fri, 17 Nov 2023 09:04:38 -0500 Received: from mail-lf1-x134.google.com ([2a00:1450:4864:20::134]:55458) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3zSS-0001O8-T2 for 67008@debbugs.gnu.org; Fri, 17 Nov 2023 09:04:36 -0500 Received: by mail-lf1-x134.google.com with SMTP id 2adb3069b0e04-507a0907896so2907238e87.2 for <67008@debbugs.gnu.org>; Fri, 17 Nov 2023 06:04:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700229866; x=1700834666; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=VpnUlXxWZsAkuxRc+vuPvEtcyMe0ccFTTjJ3egyff5Q=; b=EbxLHpMHEltEln3za8sWGT3ge1c/1SDC5mbfWl95VuJsYgk/0+RJNabTWJaH6gBudb wFSOuHDHn1eLzj9VtN4+7s/FJ4ZUc8QqW146SqhRGYXXTiANgErg5rVZZi8X9gbBh8Qg ukqxhHTXfqNR+b4Au0TOOS/zy/9QLeiKH5eyxDE4ipm/or2zF1grTYWI+o1wzeU4yG3R QD7ndri0TuFQWj3TiCPqP7+nKzMbq8aYKFnZ3tkHGmOgmWKQbXdtsM0FktAEtdFyp4j4 wztqg3VtzLevKMLivsmNG219Fd3yuwi31ZQfECGwe6qFVKKzmnZJuRXs6uY7LFZe0SFA PVwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700229866; x=1700834666; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=VpnUlXxWZsAkuxRc+vuPvEtcyMe0ccFTTjJ3egyff5Q=; b=TNAySafppbdnK3sQVcgrKom95gm09oa+A31FG6OW/DXGwWAbOJPbtWz53RnLsH4EEY S038OYBaCiq8m7f1kiYXm+PO43Thjg1hWB5NuCMDZo2LmZ+jh1n+9f3kZ/WvQ3l6dZZ9 O09o/Q6B//K+twb5nO0dc4Gp58zpduPlF+zqDb3HIsZ5FnC2Zo+QjBIWUGMTXomKU2YB VDwfCyRXraEVGO86jvNoxGFqe0M+tdxmttuWw4+TWhJXp6SdyCaiD+HJN30w1An7Czy2 hCjLK3d9TKKxZ11L8m/YkACl0o57fM4u7MOzqdhvJ8bv9qmBAXIDSwjYxAa5KGOZbqh2 4mVQ== X-Gm-Message-State: AOJu0YxYLcPb5UWhMAFN0ChrGbwirYtBJW9PjSZ/gmKyV2al/0Ed0uXr UGL2CiAReOhiGQFWWlJupqs= X-Google-Smtp-Source: AGHT+IFk507ntUWq3IDjbcfV7eTMEtLne8MXBUsr2e1NjdMwgXRc2zx0Tz8tnrhrOx3tl2R1oP4Ghg== X-Received: by 2002:a05:6512:60d:b0:507:f0f2:57b1 with SMTP id b13-20020a056512060d00b00507f0f257b1mr12469570lfe.15.1700229865851; Fri, 17 Nov 2023 06:04:25 -0800 (PST) Received: from smtpclient.apple (c188-150-165-235.bredband.tele2.se. [188.150.165.235]) by smtp.gmail.com with ESMTPSA id r5-20020a19ac45000000b00509195952b5sm232112lfc.89.2023.11.17.06.04.24 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 17 Nov 2023 06:04:25 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Subject: Re: bug#67008: 30.0.50; Multiple major mode parents From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: Date: Fri, 17 Nov 2023 15:04:24 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <735BCDB1-366B-40A6-98F9-CEBC7DAFEBE7@gmail.com> References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> <7C4E82A5-0F5A-4E04-B2BD-AD6DEC56A8C0@gmail.com> <2D8636AB-AB86-4FB5-BCCB-E10D0B9CD8C8@gmail.com> <7717747E-42EB-445A-8487-822C0E932465@gmail.com> To: Stefan Monnier X-Mailer: Apple Mail (2.3654.120.0.1.15) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Garbage in, garbage out, eh? Indeed. Let's document the constraint on the argument and, if it's not = too expensive, verify. >> or if the default error function (caar) is used. >=20 > Same. Well sort of -- since it's the default error function, we must be able = to defend the results of having it used. Otherwise we're just saying 'if the input graph is cyclic then the = output is undefined' but that clearly isn't true since we make an effort = to return something semi-useful in that case. Are the duplicates essential to proper functioning of = `cl--class-allparents` and `derived-mode-all-parents`, or would they = work just as well with some edge of the cycle removed instead? From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 17 09:20:45 2023 Received: (at 67008) by debbugs.gnu.org; 17 Nov 2023 14:20:45 +0000 Received: from localhost ([127.0.0.1]:45578 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3zi9-0001lU-C0 for submit@debbugs.gnu.org; Fri, 17 Nov 2023 09:20:45 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:17316) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3zi3-0001lB-TK for 67008@debbugs.gnu.org; Fri, 17 Nov 2023 09:20:43 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8ECA68071E; Fri, 17 Nov 2023 09:20:33 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1700230832; bh=nY9WqpCKj674r06AmFMzF4BieUinhZCyv9NMSKU7Pp4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=olbSFotynjCA/6VqhZup4IKMmID1lWMhIexMsbS4PgFBROui1M2+2AR8Jn25DYlgb rZ+zXkUnDgti5fP0W7VjmcJ6OnejXvQpjsjsBhiriYigxT21mkg5U2L70vnuyizPbG o5aniA+H/t94+j3BtVN1z0U5GBrncHfn6jVwJ8NwefHqRmOLpvBFpwmnnIS1SJCSJX e+THuUMn4j67gPpg7wnBdBnn5OFrTvyc58thJnOKqbEZPX+7fWh7qwq1lUNdtMjran Pdc11s9I8cWnetRKyAm+YsApfmoF4DJpvSbB82mNhZgRBFqh6XDYLbjxXeL6E567G3 hslMF4d02JX8g== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id BBFAF804F5; Fri, 17 Nov 2023 09:20:32 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 837B9120488; Fri, 17 Nov 2023 09:20:32 -0500 (EST) From: Stefan Monnier To: Mattias =?windows-1252?Q?Engdeg=E5rd?= Subject: Re: bug#67008: 30.0.50; Multiple major mode parents In-Reply-To: <735BCDB1-366B-40A6-98F9-CEBC7DAFEBE7@gmail.com> ("Mattias =?windows-1252?Q?Engdeg=E5rd=22's?= message of "Fri, 17 Nov 2023 15:04:24 +0100") Message-ID: References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> <7C4E82A5-0F5A-4E04-B2BD-AD6DEC56A8C0@gmail.com> <2D8636AB-AB86-4FB5-BCCB-E10D0B9CD8C8@gmail.com> <7717747E-42EB-445A-8487-822C0E932465@gmail.com> <735BCDB1-366B-40A6-98F9-CEBC7DAFEBE7@gmail.com> Date: Fri, 17 Nov 2023 09:20:26 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.015 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> Garbage in, garbage out, eh? > Indeed. Let's document the constraint on the argument and, if it's not > too expensive, verify. Duplicates in the input imply a cyclic dependency, so it immediately fall into the case where the constraints can't be satisfied. > Are the duplicates essential to proper functioning of `cl--class-allparents` > and `derived-mode-all-parents`, or would they work just as well with some > edge of the cycle removed instead? They'd work as well. It's just significantly more work for very little benefit. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 17 11:15:59 2023 Received: (at 67008) by debbugs.gnu.org; 17 Nov 2023 16:15:59 +0000 Received: from localhost ([127.0.0.1]:47035 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r41Vf-000588-FG for submit@debbugs.gnu.org; Fri, 17 Nov 2023 11:15:59 -0500 Received: from mail-lf1-x129.google.com ([2a00:1450:4864:20::129]:51583) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r41Vb-00057q-KQ for 67008@debbugs.gnu.org; Fri, 17 Nov 2023 11:15:58 -0500 Received: by mail-lf1-x129.google.com with SMTP id 2adb3069b0e04-507bd644a96so3065623e87.3 for <67008@debbugs.gnu.org>; Fri, 17 Nov 2023 08:15:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700237749; x=1700842549; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=fxT/ebVRvYPI+nwPDbL2jDIDSZoffeUhlMbN2OErGBo=; b=KEqYU90bT8U8H1cWFAqDQEdF+dlxcxw8e+otjKuPDJiQi1g3HxLaosTFy6LP/kSrjq 7y80STCTxioB/PdHR1xWZZjYtMwVg9usijGHdZj4hK5ht8TP+ZCjYxVfxY9CvkolSb3T Zh3JwB55sU7sV9/e1fn4YsM3KtGiwgmhhl0M1ca+SwH1A7T8GDrak3ka4BSWixhK1H/V 7u37Nidd1IIW+HvAaVEp1nS9RuylGrM8n0FZM12h3MXLoFFRWsMbovDCrFBKhvBOYdT+ QsIezDr4YlD+2K4YNPQCcbVGyuOVhamiLpDj8Y1nfUVlBDnSlEprGTaIY8W3OoiKse9V hX8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700237749; x=1700842549; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=fxT/ebVRvYPI+nwPDbL2jDIDSZoffeUhlMbN2OErGBo=; b=IzWKNnVCAK4ZBS7nTiLOjjP9vnDH1xs8rhx0zrq/vLNOTdSjpV2dJ8fQC5LcupdB1Q V8Cm9MNlAhCqvo3joMsLJAq7Hnn/YvI6EoA0LlR4CExPRJEfZDNCalZz9QKv37FfCeKE i3DsLDU6VibWUMQ57Q0uVwSHNgwKzbb5pwcoMP7GQSXrcMChXtqOUHcACdAzKvU8UpqB BowcZDcmdCP/gdKJSACx+MxMddQIgtmu844NnRnL3hUeN9vkAMkKU0tL9Ctv4u9r+oK9 WBrjVK6TqqsIs7S8x1fSRbymWYW2JFp+MHPaDqqVMX/j6EjuLzFMQxwRYDp4ASkies41 zZeQ== X-Gm-Message-State: AOJu0YyDVX+AdebQRS+N1b8RmtkEpW07KMyVa5ui/u9BnIfF3ZSeGCca oXuwFtn9MkgrWkgGJ1Nks9w= X-Google-Smtp-Source: AGHT+IFSkvB6xYoiFCHYDqQ4hA4pJJsliHHkB+yjseWhM/qSMtZAK1208DSAeh7SCn42BZsDiPsILw== X-Received: by 2002:a05:6512:a94:b0:50a:26b:6ddd with SMTP id m20-20020a0565120a9400b0050a026b6dddmr803lfu.49.1700237748850; Fri, 17 Nov 2023 08:15:48 -0800 (PST) Received: from smtpclient.apple (c188-150-165-235.bredband.tele2.se. [188.150.165.235]) by smtp.gmail.com with ESMTPSA id c22-20020ac24156000000b004fe36bae2d6sm261675lfi.81.2023.11.17.08.15.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 17 Nov 2023 08:15:48 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Subject: Re: bug#67008: 30.0.50; Multiple major mode parents From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: Date: Fri, 17 Nov 2023 17:15:47 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <1B9E4B46-1183-4466-B19A-D6C63DA6455E@gmail.com> References: <445405AC-C0DA-4914-984E-B42671AB536D@gmail.com> <7C4E82A5-0F5A-4E04-B2BD-AD6DEC56A8C0@gmail.com> <2D8636AB-AB86-4FB5-BCCB-E10D0B9CD8C8@gmail.com> <7717747E-42EB-445A-8487-822C0E932465@gmail.com> <735BCDB1-366B-40A6-98F9-CEBC7DAFEBE7@gmail.com> To: Stefan Monnier X-Mailer: Apple Mail (2.3654.120.0.1.15) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67008 Cc: 67008@debbugs.gnu.org, Ikumi Keita , Yuan Fu , Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Duplicates in the input imply a cyclic dependency, so it immediately > fall into the case where the constraints can't be satisfied. Yes, except these only sometimes result in the error function being = called. But perhaps checking this (duplicates in the input) should be the = caller's responsibility. From unknown Sat Jun 21 03:29:32 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 16 Dec 2023 12:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator