From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Support for Sqlite Archive files Date: Sat, 22 Jun 2024 19:23:31 +0300 Message-ID: <865xu1gd4s.fsf@gnu.org> References: <86ed8qlepr.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9915"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Madhu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Jun 22 18:24:11 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sL3X9-0002NE-6W for ged-emacs-devel@m.gmane-mx.org; Sat, 22 Jun 2024 18:24:11 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sL3Wa-0002yb-Sz; Sat, 22 Jun 2024 12:23:36 -0400 Original-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 1sL3WY-0002yP-PO for emacs-devel@gnu.org; Sat, 22 Jun 2024 12:23:34 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sL3WY-00038z-AS; Sat, 22 Jun 2024 12:23:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=3C9BNs23CNOWPdznMrC99wHHYJR9Wscm7zIhugKufzs=; b=c0o/Bv+kW6KZ wzuumiP7QIrvX2BmHnNyPNgTQnXq97u4fPpThRyTiFdcUcfFVCB7K5V1C0bMXsMynRfu0vDvWEpZ/ M/cTXlfhTMwZ0As59DjCJ/ICkfoTrBrVN9yKWOWBgBdjelueykkheF38nXPWw7D2gFY0k0CDXPivU zpp5FttObL4eY3bGRcGoZFnjn2BRfkkplfEPxoeMn10lWDph3H+meggQJf2ekB7y4zaml9qhFXo61 6xYcr0Hl9sHigpuF7wYrs2XLPT14mqHNyVUcA2yzZOTfG2s/OE7RsdAwhpvxEJ2tMoJAJ76QHjfwz LV0wKMq1LOd8uZjYnnHAVQ==; In-Reply-To: (message from Madhu on Sat, 22 Jun 2024 20:35:46 +0530) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:320474 Archived-At: > From: Madhu > Date: Sat, 22 Jun 2024 20:35:46 +0530 > > * Eli Zaretskii <86ed8qlepr.fsf@gnu.org> : > Wrote on Fri, 21 Jun 2024 14:25:52 +0300: > > > Thanks, but why do we need a cli utility when we have built-in SQLite > > support? Can't we access the SQLite Archive files via that built-in > > support? I'd prefer to have that instead of relying on external > > utility. > > 1. Because the cli-utility will work even when emacs is not built linked > to libsqlite3.so (sqlite is an optional dependency), only call-process > is needed. > > 2. Because arc-mode is a good design abstraction, and extending it to > support a new format is good design principle. > > Both of these are no-brainers. Why aren't they obvious to you? They are obvious, but there are other considerations which IMO outweigh these. > When did "Introducing a new mode and code just to make an > optional-dependency non-optional" become a design-goal of Emacs? It didn't. > Youve been pushing this relentlessly I haven't. > since openssl (gnutls) json, > treesitter, etc., all encouraging linking with 3rd party libraries, and > removing the option of having the functionalitu in emacs, without emacs > depending on those libraries. GnuTLS is preferred because the alternative communicates with Emacs via signals, something that is much less portable and also an awful design. (We switched to internal timers long ago for the same reasons.) JSON library was added because the Lisp implementation was not performant enough. (Emacs 30 will have internal JSON code which tosses the optional library, so this is now a moot point.) Tree-sitter was added because the internal fontification is not performant enough and also requires us to have on board experts in the corresponding language grammars, something that we found to be hard. (Also, the original modes that do not require tree-sitter are still available, and enabled by default.) > Is there some GNU related ideology behind this, or where did the memo > come from? No ideology and no memo, just the urge to give you and the other users the best, most performant Emacs we can.