From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#64049: 30.0.50; Minor search_buffer cleanup Date: Wed, 14 Jun 2023 08:25:02 +0800 Message-ID: <87cz1yhov5.fsf@yahoo.com> References: <87wn07clrw.fsf@epfl.ch> Reply-To: Po Lu Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="880"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 64049@debbugs.gnu.org To: Basil Contovounesios Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Jun 14 02:26:42 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 1q9ELS-000AWf-42 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 14 Jun 2023 02:26:42 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q9ELD-0005UF-Lt; Tue, 13 Jun 2023 20:26:27 -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 1q9EKo-0005MO-Px for bug-gnu-emacs@gnu.org; Tue, 13 Jun 2023 20:26:03 -0400 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 1q9EKo-00036s-4w for bug-gnu-emacs@gnu.org; Tue, 13 Jun 2023 20:26:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1q9EKo-0002lM-0C for bug-gnu-emacs@gnu.org; Tue, 13 Jun 2023 20:26:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Po Lu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 14 Jun 2023 00:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64049 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 64049-submit@debbugs.gnu.org id=B64049.168670232410554 (code B ref 64049); Wed, 14 Jun 2023 00:26:01 +0000 Original-Received: (at 64049) by debbugs.gnu.org; 14 Jun 2023 00:25:24 +0000 Original-Received: from localhost ([127.0.0.1]:43291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q9EKB-0002k8-K0 for submit@debbugs.gnu.org; Tue, 13 Jun 2023 20:25:23 -0400 Original-Received: from sonic314-21.consmr.mail.ne1.yahoo.com ([66.163.189.147]:45133) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q9EK8-0002jp-2S for 64049@debbugs.gnu.org; Tue, 13 Jun 2023 20:25:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1686702313; bh=ai8hxD3DTLw+mcCRiD1BZ8xf2kDsw2tLotIadQw0+ew=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=mDqd6DAOC7D3O9cDrkhMi0AeaTdBoBQg1nQzAoLBw46niJqBH+VXAmb4PODCSZY96p6CKjArZlHFiqoNy0oAWD6ZHwZhqRv9begYhA6FCbhvACOG76xwecA+NRLFU3lxOAPRwVKAw2+d10SLuT5tURdZiFUYUuI3vbCykpw7IXh5s3Ur0KM1bruTk3ExgYvu8aC/EWsIFgmpB/w0sITPsdCafOTOC0nNKJ841O2WIbKMQ2oOus4Ja1l79sMn9YmTMAjb20jYuR7RAbBL4gDrZiTkkcmVPqp20YZPMzD2W25j7FHhoEv7c0E/YoZidtZw8PUxMPjts0C8rUSfMdq6kA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1686702313; bh=QFm8nZy/iBobev2cn/P7fA/sypR+/XkwkYVr45Lo+jp=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=U+chQj3zNoaFZKRbO1gKQclANr/yJ91W+eeAICB3pFjsa9P1HGpAO9wPun2PVbE33PQrL0clKoB0XXP/3OSuOLkiYeiWSqz9KhJfi5D8oc5gnZGJLsDMT/qGv0kgqac7gqo8fhKrC8wjprJ90Iumh60DSQgPKx1Q3XYNYon6uUURCIkzQN4b46cnCFzlDvdfkoSnVr3KcD4s3xg2YvyMLXOIA2gSQyBgprmwg30S4qDSVZg2XoLQRYD4HzFT0vau4H9SFIBmZmmWHGOKIwtbtgBpuRU3bQvFKGvO1t4T6xnk51Q5GNrTd3kEj3MBNgYB1sWG32LQbjToN1AlpnNxHg== X-YMail-OSG: Dk.YibMVM1kdnWCwYvV3KvPfsZ4zUpiGIqW2.DLi.4uJXTW9fTu4lWXKGh5.6KW gtzjP5GyWpbUjQ_o4yDCvmIIHdTrlr6NLiWLNwVFhGyq0dv8iWrDyjpLgSQAVJwl.qacoSB8uHfG lGjAD1vCb3Dl11_lKw.8fcm20jcIlMHSyYLf2RvQkHY84poIqHZjIdmRXKhZbT11M2uN0pMNLzNA mlEDIANe6I6cfIbA.GZ4hkn9FktXUzBWKYR7mKmXpXy5wuFhlR29n.zmJ4jAy3pzriEb9wn_O8Cv ByaaoMeEWPQVZ7_qZjiX7sAdriPifLowXYeadZGXH9hKw1mYzRHXmTkoJbNZ6qOOQY_IO2rrGvft vm3C5E.xhlAQtBF2sRU.r4giQZHYJKVo7p65i_M0sJ5vVDXkGUYz5H7WlXbhFvBkPWY89M6j23US mntiYxjcxrmDaokXAmdlOC3N5p5EiZx7eT4e7faus7NIOL40KvTvsOXiXnEZIz.B6w6h_4LvWmMn XcO..rfDw3LC016wfQFdk3NkmCp2KkVzoqUjO_K_W9KAXrejF7elR0N5SDZ0_l7TcOiC9EHGn7RJ AqwEDMdRTmgMXXDqUP0T0LTS4OpVgXpxBFDw.rajIl.AREhfycydTDdifIcIhkQzjaBPckli2K8u XF32.7ACTZK4pmBdRFQqXyreI4RTysgtympP65jj0BW4xYqZmUVo.Bw4kSbYaXOs_UiG89NQ0pRv lz906DikzIXOfhv7vjQ2L6HW7doGZnBKKzKQKEfccOqxexzcCBFVBHMuG1W3xsFFmNrQFFPaTaR. cegVpOKrHqCi0mOTyN0f13IX4OHokf5epXWej9ztvu X-Sonic-MF: X-Sonic-ID: 455b9e8e-4ffe-4eaa-bcd2-3b0b20c3d646 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic314.consmr.mail.ne1.yahoo.com with HTTP; Wed, 14 Jun 2023 00:25:13 +0000 Original-Received: by hermes--production-sg3-748897c457-524hn (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 9774f99618c262664eb72520d0baf544; Wed, 14 Jun 2023 00:25:07 +0000 (UTC) In-Reply-To: <87wn07clrw.fsf@epfl.ch> (Basil Contovounesios's message of "Tue, 13 Jun 2023 18:30:43 +0100") X-Mailer: WebService/1.1.21516 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo 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:263351 Archived-At: Basil Contovounesios writes: > * src/lisp.h (search_buffer): Turn RE flag/argument from an int into > a bool. All callers updated. We typically write ``All callers changed'' in ChangeLog, I think. > +/* Search for the Nth occurrence of STRING in the current buffer, > + from buffer position POS/POS_BYTE until LIM/LIM_BYTE, > + treating STRING as a literal string if RE is false > + or as a regular expression if RE is true. > + > + If N is positive, searching is forward and LIM must be greater than POS. > + If N is negative, searching is backward and LIM must be less than POS. > + > + Returns -x if x occurrences remain to be found (x > 0), > + or else the position at the beginning of the Nth occurrence > + (if searching backward) or the end (if searching forward). > + > + TRT and INVERSE_TRT are translation tables. > + > + POSIX is true if we want full backtracking (POSIX style) for this pattern. > + False means backtrack only enough to get a valid match. */ How about: Search for the Nth occurence of STRING in the current buffer, from buffer position POS/POS_BYTE until LIM/LIM_BYTE. If RE, look for matches against the regular expression STRING instead; if POSIX, enable POSIX style backtracking within that regular expression. If N is positive, search forward; in this case, LIM must be greater than POS. If N is negative, search backwards; LIM must be less than POS. Return -X if there are X remaining occurrences or matches, or else the position at the beginning (if N is negative) or the end (if N is positive) of the Nth occurrence or match against STRING. Use TRT and INVERSE_TRT as character translation tables.