From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id ANrPD7lE1GMWwwAAbAwnHQ (envelope-from ) for ; Fri, 27 Jan 2023 22:40:09 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id kH2cD7lE1GNxtwAAauVa8A (envelope-from ) for ; Fri, 27 Jan 2023 22:40:09 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 606E1139FB for ; Fri, 27 Jan 2023 22:40:08 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pLWRT-0003EW-Uq; Fri, 27 Jan 2023 16:39:27 -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 1pLWRR-0003EL-Fh for emacs-orgmode@gnu.org; Fri, 27 Jan 2023 16:39:26 -0500 Received: from server.qxqx.de ([2a01:4f8:121:346::180] helo=mail.qxqx.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pLWRO-0002sC-Ru; Fri, 27 Jan 2023 16:39:25 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=qxqx.de; s=mail1392553390; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=d4o3g0Vpw5d4BGHtvpkFuH9RNXZlOw6c3ir+skQk6jE=; b=vs0EgVo1LgVxVSSbl+9YsKBcEI QqdrrmK3P2OI8Q3MyWB8W79QGqTpbiwr7Nm7a6PnBuA/LzVvoBaFvJ2f00Y9FHgx0KYQ4R6tIa7er dy/RqUHGgDgrmEjA3ukfOuBvMZu0gtAcl+xv3vi7EDqW80Y2iAbusBZFjLctARu/wDIw=; Message-ID: Date: Fri, 27 Jan 2023 22:38:59 +0100 MIME-Version: 1.0 Subject: Re: [POLL] Use compat.el in Org? To: Tim Cross , Bastien Guerry Cc: Ihor Radchenko , Timothy , Kyle Meyer , emacs-orgmode@gnu.org References: <87sfx7degz.fsf@gmail.com> <87v8ks6rhf.fsf@localhost> <87h6wc6qzy.fsf@gnu.org> <63d4380e.630a0220.d390c.472f@mx.google.com> Content-Language: en-US From: Daniel Mendler In-Reply-To: <63d4380e.630a0220.d390c.472f@mx.google.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=2a01:4f8:121:346::180; envelope-from=mail@daniel-mendler.de; helo=mail.qxqx.de X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1674855609; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=d4o3g0Vpw5d4BGHtvpkFuH9RNXZlOw6c3ir+skQk6jE=; b=dlw+N30+sDUaA8CX8ZLqWzzcrK05chn8EdVzwBxKwfCZrwUgQHdWoBWAbedZ74QHCE8DLy 44/ZjzK3Lo3dkXD84Q5ZHq2q3kTiTTMSxOr7zFPfvUnjBtIFxxlrceg86geSCWtCXaOgBH RcOYqz2Dm3AilDqm7ZI1OYLJShq6Y5FwX/FI1+hdoL8c6ogqTYUwgteNjDz6PyV6w6cuQo FPyx//qEKnZRbeFXZUMEy/3p84TCHvYOxxiX4dbm+zxs4UURKTiwNvR5URwcyL/fgfh4Nd U34d2ddEfeiD+BXnd5h0xf28FNPcn8ZOyKI0QV4LjZ9wNHwjd9VokEJTo+gJ+w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=qxqx.de header.s=mail1392553390 header.b=vs0EgVo1; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1674855609; a=rsa-sha256; cv=none; b=HB17LgJUWS/hU3BMtU3Tf2LGWMDYPuSyG9MDdQ8i4hR4I88XvGQHgNpSKGzo1dcBG01X6E WRZCF0uKFuNhHKNmlfDc3KwYEmqWOkq+fs3vLm+mq8DMkrutuxRPDaDqDBZb3IfIFp/ZH5 06nYzItJG5zcHybw5OAgr1qp6Y+aD25SbbMddOAUJ22BZWQBUqZOe70AuL3I0/j8XVDVgW hFqHaS07BHXp+t8dGXfAcdXlSQyPraSYZeyR07UNrJeB3VtXSj53/UQQPXd/EiCmITs24W jl7HkVnb8/pqSNre9ct6tZvBgD7ee45VHB5dw5ZaOIn5yuWqSDYXa2O6WZ29Lw== Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=qxqx.de header.s=mail1392553390 header.b=vs0EgVo1; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: 0.13 X-Spam-Score: 0.13 X-Migadu-Queue-Id: 606E1139FB X-TUID: 9CA0RtktHwZ1 On 1/27/23 21:38, Tim Cross wrote: >> As long as we keep our promise in terms of backward compatibility with >> older Emacs versions, I'm all for it. > > I would agree. I would also add that even with the use of this package, > I don't think we should use it to increase the number of versions we > support as support is not as simple as dropping in a compatibility > library. True. The Compat package cannot fix bugs below the Elisp level or provide APIs which cannot be backported, e.g., big integer support. If Org relies on behavior of the Emacs display engine or the C core of a certain Emacs version, Compat cannot help. The advantage would be that the maintenance burden of org-compat would be reduced. Many packages can share the backported functions by depending on Compat, which will increase robustness and reduce the risk of unexpected bugs. The community only has to maintain a single set of backported functions in a single package, instead of scattering compatibility code across many packages. > These libraries come with a cost. Often, compatibility code > does not perform as well and/or is much more complicated and more likely > to have bugs. The more a version of emacs needs to rely on this library > to run org-mode, the higher the likelihood performance will be degraded > or unexpected new bugs are found. To give some context about the stability aspect - many backported compatibility functions are copied verbatim from newer Emacs versions. Every compatibility function provided by Compat is covered by tests, which are executed via CI on all supported Emacs versions (>= 24.4). I make sure that no functions are backported which perform much worse such that they would introduce performance bugs. Daniel