From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#58950: [PATCH] * lisp/subr.el (buffer-match-p): Optimise performance Date: Fri, 6 Jan 2023 23:41:43 +0200 Message-ID: References: <875yfyebi0.fsf@posteo.net> <87a6331xts.fsf@posteo.net> <1119f0ff-aacf-b41e-e7f7-b0a00132b35f@yandex.ru> <255D9E93-422C-4A43-9876-751FDB8E61DB@acm.org> <73923B98-E4B8-44F8-9445-2FD05564ADA0@acm.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3167"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Cc: Philip Kaludercic , 58950@debbugs.gnu.org, Stefan Monnier To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Jan 06 22:42:26 2023 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 1pDuTq-0000i7-1N for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 06 Jan 2023 22:42:26 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pDuTa-0006Nc-SN; Fri, 06 Jan 2023 16:42:10 -0500 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 1pDuTT-0006N4-39 for bug-gnu-emacs@gnu.org; Fri, 06 Jan 2023 16:42:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pDuTS-0008G0-81 for bug-gnu-emacs@gnu.org; Fri, 06 Jan 2023 16:42:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pDuTR-0004WC-TI for bug-gnu-emacs@gnu.org; Fri, 06 Jan 2023 16:42:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 06 Jan 2023 21:42:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58950 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 58950-submit@debbugs.gnu.org id=B58950.167304131517353 (code B ref 58950); Fri, 06 Jan 2023 21:42:01 +0000 Original-Received: (at 58950) by debbugs.gnu.org; 6 Jan 2023 21:41:55 +0000 Original-Received: from localhost ([127.0.0.1]:55959 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pDuTL-0004Vo-A3 for submit@debbugs.gnu.org; Fri, 06 Jan 2023 16:41:55 -0500 Original-Received: from mail-wr1-f53.google.com ([209.85.221.53]:41564) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pDuTI-0004VZ-LQ for 58950@debbugs.gnu.org; Fri, 06 Jan 2023 16:41:53 -0500 Original-Received: by mail-wr1-f53.google.com with SMTP id w1so2491587wrt.8 for <58950@debbugs.gnu.org>; Fri, 06 Jan 2023 13:41:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=MSNQXRfKAiGqM2/Ml1UET7VeiMMySCFwjFKgvw5wNKc=; b=GJKXJBJ9g0o2iwNY3Ph4UVdSZd6assn4gT1L84GwkJarnP+PFYUdz9c2Xvp0vHfgsW snHsFjMZQ6WwbFnikcl0Z6QnzOjxsS4lELX8LovePhyasxQOdIbtloxeGwJlMcYm3f4U kE/N11jQZWOB7299H5yqKxPSkdavamutslnzEXNjWQhnebfuYeGH0osRpx35YYXBhSYg /k7EloZxehgSkbrXhClxnt7YcjNLCruqrJIFs0OIHWFhiSf31Jmqw75kn6ZmEXGLMREX n+t+w5OPhOLIewP5rl46VpGmFEb2HdhOK0brxIxhhgev9wm4XNcMDRTP2ZqALEW4sf8O piDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MSNQXRfKAiGqM2/Ml1UET7VeiMMySCFwjFKgvw5wNKc=; b=KHKTuAGabAXQ7U+mzNg5wsf67AobVaXXzVM+Gy6NYsAuRMHwf8zd5wK1VkNgyZWbR/ ALA2cO6ETELkRcMqjyyo73kIIT6YKev0C4P6+zZX4ez1hQ8YdgE89l/EZ40I+3SZZh9Q 145SszWlRtE4BpQM1ejRF4o2CIetaqPrQOCY24+4NJS4P3PQyEMj6Xnkgr9jd36OzQ+Z 9Uz0jDPvoalJJyikSerEbL/OXf23M4nGP3lws2eULRZsBMHhrV9DFZ5iWnPlBwzRG7oU 08JoxP7tnKNcAOY7ncTbgCp3+WxzKSFFYefFTqWJ75I622mUmYplC/sl0DcBnKDDI6tr U6UQ== X-Gm-Message-State: AFqh2kqqvq8YZbIDGiF9l5E6BG1MgthzK7kaeCksNnv12NcEQG0nWGio WfFMmknCfcLQjbGLar35aIw= X-Google-Smtp-Source: AMrXdXttrku5LINJVGCyU9Ok5ZARKkMUfhlxThBdVTc3sPEaQulC4G6CCEvlqmDOIWFk8JkvFDwAyw== X-Received: by 2002:a5d:6d0f:0:b0:28b:456c:1b6d with SMTP id e15-20020a5d6d0f000000b0028b456c1b6dmr31518593wrq.55.1673041306162; Fri, 06 Jan 2023 13:41:46 -0800 (PST) Original-Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id d9-20020adfef89000000b002b74be46309sm2166856wro.114.2023.01.06.13.41.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 06 Jan 2023 13:41:45 -0800 (PST) Content-Language: en-US In-Reply-To: <73923B98-E4B8-44F8-9445-2FD05564ADA0@acm.org> 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:252748 Archived-At: On 06/01/2023 13:17, Mattias EngdegÄrd wrote: > 5 jan. 2023 kl. 13.55 skrev Dmitry Gutov : > >> I'm not sure how we'd reach the same goals with plain old Elisp (structured editing in particular -- in Customize). > > No enemy of little DSLs in principle but is that structural editing the main rationale now? I think so? And the fact that it's more limited than Elisp means the values have to be uniform-ish. As a result they're easier to quickly grasp. > (I wish we had (byte-)compiled elisp functions carrying their own source, either as s-exp, string of formatted source text, or source file reference -- that would allow for sensible editing in Customise without performance penalty. But Santa gave me a wool jumper instead, that's nice too.) We kind of have that already, if we just made the type for be 'sexp', or a Lisp form. With all the freedom associated with it, just lower performance compared to a compiled function. Would that look like a good choice for e.g. font-lock-global-modes? I don't think the performance hit would be a problem for that use. > Regarding buffer-match-p, the fact that `not` actually means `nor` is a bit odd (we don't do that elsewhere), as well as arbitrary (why not `nand` etc) and undocumented. Yeah, it's a wrinkle. I'm on the fence regarding changing it, though, for compatibility and ergonomical reasons (it's easier for the user to avoid typing a dot). But I'm not married to it either.