From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Robert Pluim Newsgroups: gmane.emacs.devel Subject: Re: master 0724c6dbdae: Use string-search instead of string-match[-p] when possible Date: Wed, 29 Mar 2023 17:23:03 +0200 Message-ID: <875yajmvjc.fsf@gmail.com> References: <167982767456.13549.3313290435008922358@vcs2.savannah.gnu.org> <20230326104755.356B1C1391D@vcs2.savannah.gnu.org> 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="8164"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Mattias =?utf-8?Q?Engdeg=C3=A5rd?= To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Mar 29 17:23:57 2023 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 1phXeW-0001wk-8a for ged-emacs-devel@m.gmane-mx.org; Wed, 29 Mar 2023 17:23:56 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1phXdq-0007k7-9t; Wed, 29 Mar 2023 11:23:14 -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 1phXdl-0007ja-Ln for emacs-devel@gnu.org; Wed, 29 Mar 2023 11:23:10 -0400 Original-Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1phXdj-0006tb-Qh for emacs-devel@gnu.org; Wed, 29 Mar 2023 11:23:09 -0400 Original-Received: by mail-wr1-x432.google.com with SMTP id r29so16107466wra.13 for ; Wed, 29 Mar 2023 08:23:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680103385; h=content-transfer-encoding:mime-version:message-id:date :gmane-reply-to-list:references:in-reply-to:subject:cc:to:from:from :to:cc:subject:date:message-id:reply-to; bh=2UgG1wnnnLkf2w7HsWlcsNZsp6tnY+w9TWHMOGFZ4VU=; b=OvldsuuMTNerIcTP15xE6GjbFf4B4VDOLhdP0y1lwz/h2q4B4A29ldmZokN5ya13u6 obrh5C7Y+Re66rQjbAmTMIs3zo4nlXlVgyi5Ik7VKl708V6PA4j2qK11U6CQ7tZR7Jep eoD23NGoIRSvCHuFH2ZIi/exXHSdMD6g7qRiYSxeD10ovCWXapWKPU/I9CGjQBGXZrbF emBRBDIgvZ1ZsgpIn+7YlB6vfdKXvlIkUs1nBwZt1f4ji7vfxTJohEAsMWc87FZqA7cD zbYUBpgf40ax5DVlMLdi8dfddYet6iic8BmxBK4zyKJc8NYS2XaHPaaYwu7Nx11+zPVr Xdww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680103385; h=content-transfer-encoding:mime-version:message-id:date :gmane-reply-to-list:references:in-reply-to:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=2UgG1wnnnLkf2w7HsWlcsNZsp6tnY+w9TWHMOGFZ4VU=; b=BpE40x+vCnQlwYF94a7ZFQZDh5rDtK6zX0TjYyX1pA/92UNdGDlSxD1NBursPuOq1L 6vOBctGHswEQKBP+RTbw1wIYQXws7XYmDCD6nxN7Om4MR7ZhCtI9qWV3BaM4TEqloieE jNnqwoZ8cHiIJkp8xwGFli36zaox5nOM9PuFYIu9hHeJqFTrkNIesLZzt2homf2suYIV 0zIUmMNGYHCcuuzcbk2ali/ux0rbsBwzotRMT96ib6OEzVmGU5f4pdc1TqusnyKuws6j 7P/q+GuEUC5hJk2irw1986PtqjVP+FXWkxNR7fsJtTck73iXJuiOTCpSyMTUaXoikHea 0L9Q== X-Gm-Message-State: AAQBX9fl2qa24cWguYGrjDuRDUInGJ7v2dH3wI1vLp4Lc1L2pPimCUrZ 7bwu74q45M1ZvN5S8GBCmbA= X-Google-Smtp-Source: AKy350b30PQ3fVs4lPnTHXChasv1RUv5F70NjDvI+QF8q9Wns4rPXtpSxqTBda4fqUf0RS5MCKtcHQ== X-Received: by 2002:a5d:4b47:0:b0:2d7:9d46:37ff with SMTP id w7-20020a5d4b47000000b002d79d4637ffmr16055186wrs.39.1680103384936; Wed, 29 Mar 2023 08:23:04 -0700 (PDT) Original-Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id t6-20020adff606000000b002d828a9f9ddsm22346063wrp.115.2023.03.29.08.23.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Mar 2023 08:23:04 -0700 (PDT) In-Reply-To: <20230326104755.356B1C1391D@vcs2.savannah.gnu.org> ("Mattias =?utf-8?Q?Engdeg=C3=83=C2=A5rd=22's?= message of "Sun, 26 Mar 2023 06:47:54 -0400 (EDT)") Gmane-Reply-To-List: yes Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=rpluim@gmail.com; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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:304821 Archived-At: >>>>> On Sun, 26 Mar 2023 06:47:54 -0400 (EDT), Mattias Engdeg=C3=83=C2=A5r= d said: Mattias> branch: master Mattias> commit 0724c6dbdaef2c549409836ba4f7999e05aa31fe Mattias> Author: Mattias Engdeg=C3=A5rd Mattias> Commit: Mattias Engdeg=C3=A5rd Mattias> Use string-search instead of string-match[-p] when possible =20=20=20=20 Mattias> * lisp/progmodes/c-ts-mode.el Mattias> (c-ts-mode--standalone-parent-skip-preproc): Mattias> * lisp/progmodes/ruby-ts-mode.el (ruby-ts--align-chain): Mattias> * lisp/treesit.el (treesit-max-buffer-size) Mattias> (treesit--check-manual-coverage): Mattias> Use the much faster string-search when just searching for = a substring. Mattias> --- Mattias> lisp/progmodes/c-ts-mode.el | 2 +- Mattias> lisp/progmodes/ruby-ts-mode.el | 2 +- Mattias> lisp/treesit.el | 4 ++-- Mattias> 3 files changed, 4 insertions(+), 4 deletions(-) Hmm, we could do this using a compiler macro, no? Something like (put 'string-match-p 'compiler-macro #'byte-optimize-string-match-p) (defun byte-optimize-string-match-p (form r string &optional start) (if (and (stringp r) (string-equal r (regexp-quote r))) `(string-search ,r ,string ,start) form)) (I don=CA=BCt think we can do it unconditionally for `string-match', since `string-search' doesn=CA=BCt set the match data.) Robert --=20