From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Newsgroups: gmane.emacs.bugs Subject: bug#48841: [PATCH VERSION 2] Add new `completion-filter-completions` API and deferred highlighting Date: Fri, 13 Aug 2021 11:56:59 +0100 Message-ID: References: <3d3f894f-a6fa-53ae-5d50-c3aa9bffc73e@daniel-mendler.de> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19257"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 47711@debbugs.gnu.org, Stefan Monnier , 48841@debbugs.gnu.org, Dmitry Gutov To: Daniel Mendler Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Aug 13 12:58:29 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1mEUtR-0004tf-GE for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 13 Aug 2021 12:58:29 +0200 Original-Received: from localhost ([::1]:60592 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mEUtP-0000aw-Ii for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 13 Aug 2021 06:58:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47598) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mEUtI-0000ab-Lh for bug-gnu-emacs@gnu.org; Fri, 13 Aug 2021 06:58:20 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:57257) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mEUt1-000058-3X for bug-gnu-emacs@gnu.org; Fri, 13 Aug 2021 06:58:20 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mEUt0-0001PA-SX for bug-gnu-emacs@gnu.org; Fri, 13 Aug 2021 06:58:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 13 Aug 2021 10:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48841 X-GNU-PR-Package: emacs Original-Received: via spool by 48841-submit@debbugs.gnu.org id=B48841.16288522395343 (code B ref 48841); Fri, 13 Aug 2021 10:58:02 +0000 Original-Received: (at 48841) by debbugs.gnu.org; 13 Aug 2021 10:57:19 +0000 Original-Received: from localhost ([127.0.0.1]:40568 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEUsJ-0001O1-B4 for submit@debbugs.gnu.org; Fri, 13 Aug 2021 06:57:19 -0400 Original-Received: from mail-pj1-f53.google.com ([209.85.216.53]:50818) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEUsH-0001Nj-0K; Fri, 13 Aug 2021 06:57:17 -0400 Original-Received: by mail-pj1-f53.google.com with SMTP id bo18so14781595pjb.0; Fri, 13 Aug 2021 03:57:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=dSemysIFcr8EOxC+zmRqh0RfmCQlAPXj3PR3O0OqjzY=; b=SqubbkDLKuatuVjfKoJQjDb01671J7SAVkAWFgMGPssDNfl+XOjqCEss4W9U97TluU n1xJdbjlqGJ1Mj1WhF5MN+ma5y3HnwSBQMUEaAOAjuOyqjQAQavfhX7lVdrYQHDS8EXP Gl31ZgY5JLaBP/bQel4FeetOLzBJKAT1ynhYVwIej4H9fOmCtW8yb9dsnRO1ReNForXQ GiQFOPO41g/QwAR85Es4hB2/LPoIDSo5mFPJijI6ptl5uJSNY9IrpQRaw9rxcBk2Fyzs Y6kk0pfHMFXrKQo+XVgkxRoTawnBf8r3xw5U9plE3Shu1T9ME2GkKjAQbo+mjc0V/1YX yR4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=dSemysIFcr8EOxC+zmRqh0RfmCQlAPXj3PR3O0OqjzY=; b=NTQOAVAo1TY2fEroNfNGTntDeXFhg7x7yWweDS2OXVVmtDuuVF28EDOha3kRVMrEqf laGHQhPHesf9JMefAa+1FD2bvqX6L21uVLGLTvhZGUG3FY28r3PoAjXEsuo3NITeatP0 aSReToSpb9CQo+3PaUcKXBLeP1O/z943YGXtjY9dhUdLp8Fp4jAKfkpedlflGw+x75Ex E5bHAqLYnd37uC9K6SBRjOp/8+WhJm2rBM5FhfQvgP9Uloqjk943gW5OP20NWL+Jiy6g 5CkggSl1auOIe20sy4lq72G9S4N6zbIUfclRVbKOlx4DMkCZAsV0V2lIehmd+AjgqWri 8vdA== X-Gm-Message-State: AOAM531XFDNPfEYScjVKT2NWHKrwVe/B05k0HPjP5zzDov/lMVwCXExH D5k3adbNTjhyrthvgFvnZ0DIsRXzcm2Nfjj3aJc= X-Google-Smtp-Source: ABdhPJxe/IE4MLihlfvr0Vhji16fJ+zz8X6GRYFjDtC5ScQ9Kf+7vIgbgXzMBZ7NcW8mfhlhyvK1dz3EAnhzzSNx9hY= X-Received: by 2002:a63:c0a:: with SMTP id b10mr1803467pgl.447.1628852231016; Fri, 13 Aug 2021 03:57:11 -0700 (PDT) In-Reply-To: <3d3f894f-a6fa-53ae-5d50-c3aa9bffc73e@daniel-mendler.de> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:211728 Archived-At: > In comparison to my last patch, the patch is fully backward > compatible and preserves all existing tests. This a very good thing (the fact that the patch is fully backward compatibl= e, I mean). It is quite a large patch that touches many completion internals. I'd like some time to look it over. I've read the discussion and am indeed aware of some non-neglibile performance problems in the flex and pcm completion styles since they need to copy strings around. Other -- completely different -- performance problems affect fido-mode specifically (but not fido-vertical-mode, curiously). In some conversation with Dmitry bug#48841: fido-mode is slower than ido-mode with similar settings We discussed this. There was also talk of removing the string copying with minimal (but not nu= ll) backward compatibility breakage. I recall Dmitry saying it was easy to fix on the completion frontend side. Many such frontends live in Emacs or GNU Elpa. On the other hand, the patch that we (or at least I) envisioned in that discussion was almost certainly much, much simpler than the one being presented here, and thus much easier to reason about and discuss. But to avoid comparing apples to oranges, I would you to summarize exactly, perhaps in the forms of code snippets, and/or benchmarks exactly what probl= ems your large patch solves. State the problem(s) first, then the solution (to each). If there are multiple problems, then there's a good chance that multiple pa= tches that address each of these are preferred. Thank you very much. Jo=C3=A3o