GNU logs - #69542, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#69542: Feature request: making occur obey isearch-filter-predicate
Resent-From: Gabriele Nicolardi <gabriele@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 04 Mar 2024 11:46:01 +0000
Resent-Message-ID: <handler.69542.B.17095527376916 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 69542
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 69542 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.17095527376916
          (code B ref -1); Mon, 04 Mar 2024 11:46:01 +0000
Received: (at submit) by debbugs.gnu.org; 4 Mar 2024 11:45:37 +0000
Received: from localhost ([127.0.0.1]:42196 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rh6lE-0001lf-On
	for submit <at> debbugs.gnu.org; Mon, 04 Mar 2024 06:45:37 -0500
Received: from lists.gnu.org ([209.51.188.17]:50186)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <gabriele@HIDDEN>) id 1rh6lC-0001gI-Tu
 for submit <at> debbugs.gnu.org; Mon, 04 Mar 2024 06:45:35 -0500
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 <gabriele@HIDDEN>)
 id 1rh6kf-000802-FL
 for bug-gnu-emacs@HIDDEN; Mon, 04 Mar 2024 06:45:02 -0500
Received: from smtp02.cbsolt.net ([185.97.217.41])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <gabriele@HIDDEN>)
 id 1rh6kb-0006l7-9V
 for bug-gnu-emacs@HIDDEN; Mon, 04 Mar 2024 06:45:01 -0500
Received: from [10.0.2.15] (host-79-16-242-199.retail.telecomitalia.it
 [79.16.242.199])
 by smtp02.cbsolt.net (Postfix) with ESMTPSA id 4TpH1G1H8zz3wbB
 for <bug-gnu-emacs@HIDDEN>; Mon,  4 Mar 2024 12:44:49 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cbsolt.net;
 s=201504-di4k2w; t=1709552691;
 bh=vLY9SZaq3M1s16W8tnjAfGutHaN9DH2VnOK/gluJjc0=;
 h=Date:To:From:Subject:From;
 b=URHBGVly+KQ+sbUhuiWLFRzmq97Fn3KRFxwljrbDkQdFQUl5Id/8iuwn9E9uQDEQf
 NeBVFaYvQNfayCL3rdW/t1mMBStoN7PvJhrc2KOf2r9mI80/mCYYHGpuM5i9z+S2hZ
 Thq93CMBaQrroc1jp7uur0xLKF7pJMP22sE2nObE=
Content-Type: multipart/alternative;
 boundary="------------zrEEoRN1SeuqiwV3Q46w2Jya"
Message-ID: <6071eb9a-fa15-45fb-9917-7a35c7556680@HIDDEN>
Date: Mon, 4 Mar 2024 12:44:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
From: Gabriele Nicolardi <gabriele@HIDDEN>
Received-SPF: pass client-ip=185.97.217.41;
 envelope-from=gabriele@HIDDEN; helo=smtp02.cbsolt.net
X-Spam_score_int: -25
X-Spam_score: -2.6
X-Spam_bar: --
X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7,
 RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

This is a multi-part message in MIME format.
--------------zrEEoRN1SeuqiwV3Q46w2Jya
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

I’d like occur to obey to |isearch-filter-predicate| like query-replace* 
and |isearch*| commands.

This is an example of what I do:

|(defmacro with-ifp-predicates (PREDICATES &rest body) "Allows assigning 
a list of predicates to the variable `isearch-filter-predicate'. |

Below is an example of usage:

|(with-ifp-predicates '(skip-maths skip-comments) (query-replace \"foo\" 
\"bar\" nil (point-min) (point-max)))" (declare (indent 1)) `(let 
((isearch-filter-predicate isearch-filter-predicate)) (mapc (lambda 
(predicate) (add-function :before-while isearch-filter-predicate 
predicate)) ,PREDICATES) ,@body)) |

(I always use let-binding for operations that involve 
|isearch-filter-predicate|.)

In some cases, I would like to have something like this:

|(with-ifp-predicates '(predicate1 predicate2) (save-window-excursion 
(occur "foo") (query-replace \"foo\" \"bar\" nil (point-min) (point-max)))) |

with |occur| showing me only the strings that match the active predicates.

I wrote a mail to emacs-devel@HIDDEN and I have verified that others 
also believe that this solution would be helpful and consistent with the 
functioning of some other functions defined in |replace.el|.

I’d also like to add this feature to the |how-many| function.

I already wrote this modified version (Emacs 29.2):

|(defun re-search-forward-ifp (REGEXP &optional BOUND NOERROR COUNT) 
"Modified version of `search-forward-regexp' that filters (skips) 
matches according to `isearch-filter-predicate'." (let ((POINT (point))) 
(catch 'filtered (while (search-forward-regexp REGEXP BOUND NOERROR 
COUNT) (let ((B (match-beginning 0)) (E (match-end 0))) (when (funcall 
isearch-filter-predicate B E) (throw 'filtered (point))))) (goto-char 
POINT) nil))) (defalias 'search-forward-regexp-ifp 
're-search-forward-ifp) (defun how-many-ifp (regexp &optional rstart 
rend interactive) "Modified version of `how-many' that filters (skips) 
matches according to `isearch-filter-predicate'." (interactive 
(keep-lines-read-args "How many matches for regexp")) (save-excursion 
(if rstart (if rend (progn (goto-char (min rstart rend)) (setq rend (max 
rstart rend))) (goto-char rstart) (setq rend (point-max))) (if (and 
interactive (use-region-p)) (setq rstart (region-beginning) rend 
(region-end)) (setq rstart (point) rend (point-max))) (goto-char 
rstart)) (let ((count 0) (case-fold-search (if (and case-fold-search 
search-upper-case) (isearch-no-upper-case-p regexp t) 
case-fold-search))) (while (and (< (point) rend) (re-search-forward-ifp 
regexp rend t)) ;; Ensure forward progress on zero-length matches like 
"^$". (when (and (= (match-beginning 0) (match-end 0)) (not (eobp))) 
(forward-char 1)) (setq count (1+ count))) (when interactive (message 
(ngettext "%d occurrence" "%d occurrences" count) count)) count))) 
(defalias 'count-matches-ifp 'how-many-ifp) |

Best regards,

Gabriele Nicolardi

​
--------------zrEEoRN1SeuqiwV3Q46w2Jya
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="markdown-here-wrapper" data-md-url="" style=""
      markdown-here-wrapper-content-modified="true">
      <p style="margin: 0px 0px 1.2em !important;">Hi,</p>
      <p style="margin: 0px 0px 1.2em !important;">I’d like occur to
        obey to <code
style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;">isearch-filter-predicate</code>
        like query-replace* and <code
style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;">isearch*</code>
        commands.</p>
      <p style="margin: 0px 0px 1.2em !important;">This is an example of
        what I do:</p>
      <pre
style="font-family: Consolas, Inconsolata, Courier, monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code
style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block;">(defmacro with-ifp-predicates (PREDICATES &amp;rest body)
   "Allows assigning a list of predicates to the
 variable `isearch-filter-predicate'.
</code></pre>
      <p style="margin: 0px 0px 1.2em !important;"> Below is an example
        of usage:</p>
      <pre
style="font-family: Consolas, Inconsolata, Courier, monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code
style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block;">(with-ifp-predicates '(skip-maths skip-comments)
  (query-replace \"foo\" \"bar\" nil (point-min) (point-max)))"
  (declare (indent 1))
  `(let ((isearch-filter-predicate isearch-filter-predicate))
     (mapc (lambda (predicate)
               (add-function :before-while isearch-filter-predicate predicate))
             ,PREDICATES)
     ,@body))
</code></pre>
      <p style="margin: 0px 0px 1.2em !important;">(I always use
        let-binding for operations that involve <code
style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;">isearch-filter-predicate</code>.)</p>
      <p style="margin: 0px 0px 1.2em !important;">In some cases, I
        would like to have something like this:</p>
      <pre
style="font-family: Consolas, Inconsolata, Courier, monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code
style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block;">(with-ifp-predicates '(predicate1 predicate2)
   (save-window-excursion
     (occur "foo")
     (query-replace \"foo\" \"bar\" nil (point-min) (point-max)))) 
</code></pre>
      <p style="margin: 0px 0px 1.2em !important;">with <code
style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;">occur</code>
        showing me only the strings that match the active predicates.</p>
      <p style="margin: 0px 0px 1.2em !important;">I wrote a mail to <a
          href="mailto:emacs-devel@HIDDEN"
          class="moz-txt-link-freetext">emacs-devel@HIDDEN</a> and I
        have verified that others also believe that this solution would
        be helpful and consistent with the functioning of some other
        functions defined in <code
style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;">replace.el</code>.</p>
      <p style="margin: 0px 0px 1.2em !important;">I’d also like to add
        this feature to the <code
style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;">how-many</code>
        function.</p>
      <p style="margin: 0px 0px 1.2em !important;">I already wrote this
        modified version (Emacs 29.2):</p>
      <pre
style="font-family: Consolas, Inconsolata, Courier, monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code
style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block;">
(defun re-search-forward-ifp (REGEXP &amp;optional BOUND NOERROR COUNT)
  "Modified version of `search-forward-regexp' that
    filters (skips) matches according to `isearch-filter-predicate'."

  (let ((POINT (point)))
    (catch 'filtered
      (while (search-forward-regexp REGEXP BOUND NOERROR COUNT)
        (let ((B (match-beginning 0))
              (E (match-end 0)))
          (when (funcall isearch-filter-predicate B E)
            (throw 'filtered (point)))))
      (goto-char POINT)
      nil)))
(defalias 'search-forward-regexp-ifp 're-search-forward-ifp)

(defun how-many-ifp (regexp &amp;optional rstart rend interactive)
  "Modified version of `how-many' that filters (skips) matches
    according to `isearch-filter-predicate'."

  (interactive
   (keep-lines-read-args "How many matches for regexp"))
  (save-excursion
    (if rstart
        (if rend
            (progn
              (goto-char (min rstart rend))
              (setq rend (max rstart rend)))
          (goto-char rstart)
          (setq rend (point-max)))
      (if (and interactive (use-region-p))
          (setq rstart (region-beginning)
                rend (region-end))
        (setq rstart (point)
              rend (point-max)))
      (goto-char rstart))
    (let ((count 0)
          (case-fold-search
           (if (and case-fold-search search-upper-case)
               (isearch-no-upper-case-p regexp t)
             case-fold-search)))
      (while (and (&lt; (point) rend)
                  (re-search-forward-ifp regexp rend t))
        ;; Ensure forward progress on zero-length matches like "^$".
        (when (and (= (match-beginning 0) (match-end 0))
                   (not (eobp)))
          (forward-char 1))
        (setq count (1+ count)))
      (when interactive (message (ngettext "%d occurrence"
                                           "%d occurrences"
                                           count)
                                 count))
      count)))
(defalias 'count-matches-ifp 'how-many-ifp)
</code></pre>
      <p style="margin: 0px 0px 1.2em !important;">Best regards,</p>
      <p style="margin: 0px 0px 1.2em !important;">Gabriele Nicolardi</p>
      <div
title="MDH:PHA+SGksPC9wPjxwPkknZCBsaWtlIG9jY3VyIHRvIG9iZXkgdG8gYGlzZWFyY2gtZmlsdGVyLXBy
ZWRpY2F0ZWAgbGlrZSBxdWVyeS1yZXBsYWNlKiBhbmQgYGlzZWFyY2gqYCBjb21tYW5kcy48L3A+
PHA+VGhpcyBpcyBhbiBleGFtcGxlIG9mIHdoYXQgSSBkbzo8L3A+PHA+YGBgPGJyPjwvcD4KICAg
IDxwPihkZWZtYWNybyB3aXRoLWlmcC1wcmVkaWNhdGVzIChQUkVESUNBVEVTICZhbXA7cmVzdCBi
b2R5KTxicj4KICAgICAgJm5ic3A7ICJBbGxvd3MgYXNzaWduaW5nIGEgbGlzdCBvZiBwcmVkaWNh
dGVzIHRvIHRoZTxicj4KICAgICAgdmFyaWFibGUgYGlzZWFyY2gtZmlsdGVyLXByZWRpY2F0ZScu
PGJyPgogICAgICBgYGA8YnI+CiAgICAgIEJlbG93IGlzIGFuIGV4YW1wbGUgb2YgdXNhZ2U6PGJy
PgogICAgICBgYGA8YnI+CiAgICAgICh3aXRoLWlmcC1wcmVkaWNhdGVzICcoc2tpcC1tYXRocyBz
a2lwLWNvbW1lbnRzKTxicj4KICAgICAgJm5ic3A7IChxdWVyeS1yZXBsYWNlIFwiZm9vXCIgXCJi
YXJcIiBuaWwgKHBvaW50LW1pbikgKHBvaW50LW1heCkpKSI8YnI+CiAgICAgICZuYnNwOyAoZGVj
bGFyZSAoaW5kZW50IDEpKTxicj4KICAgICAgJm5ic3A7IGAobGV0ICgoaXNlYXJjaC1maWx0ZXIt
cHJlZGljYXRlIGlzZWFyY2gtZmlsdGVyLXByZWRpY2F0ZSkpPGJyPgogICAgICAmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgKG1hcGMgKGxhbWJkYSAocHJlZGljYXRlKTxicj4KICAgICAgJm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IChhZGQtZnVuY3Rpb24gOmJlZm9yZS13aGlsZQogICAgICBp
c2VhcmNoLWZpbHRlci1wcmVkaWNhdGUgcHJlZGljYXRlKSk8YnI+CiAgICAgICZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyAsUFJFRElDQVRFUyk8YnI+CiAgICAgICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAsQGJv
ZHkpKTwvcD4KICAgIDxwPmBgYDwvcD48cD4oSSBhbHdheXMgdXNlIGxldC1iaW5kaW5nIGZvciBv
cGVyYXRpb25zIHRoYXQgaW52b2x2ZQogICAgICBgaXNlYXJjaC1maWx0ZXItcHJlZGljYXRlYC4p
PC9wPgogICAgPHA+SW4gc29tZSBjYXNlcywgSSB3b3VsZCBsaWtlIHRvIGhhdmUgc29tZXRoaW5n
IGxpa2UgdGhpczo8L3A+CiAgICA8cD5gYGA8L3A+PHA+KHdpdGgtaWZwLXByZWRpY2F0ZXMgJyhw
cmVkaWNhdGUxIHByZWRpY2F0ZTIpPGJyPgogICAgICAmbmJzcDsgKHNhdmUtd2luZG93LWV4Y3Vy
c2lvbjxicj4KICAgICAgJm5ic3A7Jm5ic3A7Jm5ic3A7IChvY2N1ciAiZm9vIik8YnI+CiAgICAg
ICZuYnNwOyZuYnNwOyZuYnNwOyAocXVlcnktcmVwbGFjZSBcImZvb1wiIFwiYmFyXCIgbmlsIChw
b2ludC1taW4pIChwb2ludC1tYXgpKSkpPGJyPgogICAgPC9wPgogICAgPHA+YGBgPC9wPjxwPndp
dGggYDxjb2RlPm9jY3VyYDwvY29kZT4gc2hvd2luZyBtZSBvbmx5IHRoZSBzdHJpbmdzIHRoYXQg
bWF0Y2gKICAgICAgdGhlIGFjdGl2ZSBwcmVkaWNhdGVzLjwvcD48cD48L3A+PHA+SSB3cm90ZSBh
IG1haWwgdG8gZW1hY3MtZGV2ZWxAZ251Lm9yZyBhbmQgSSBoYXZlIHZlcmlmaWVkIHRoYXQgb3Ro
ZXJzIGFsc28gYmVsaWV2ZSB0aGF0IHRoaXMgc29sdXRpb24gd291bGQgYmUgCmhlbHBmdWwgYW5k
IGNvbnNpc3RlbnQgd2l0aCB0aGUgZnVuY3Rpb25pbmcgb2Ygc29tZSBvdGhlciBmdW5jdGlvbnMg
CmRlZmluZWQgaW4gPGNvZGU+YHJlcGxhY2UuZWxgPC9jb2RlPi48L3A+PHA+SSdkIGFsc28gbGlr
ZSB0byBhZGQgdGhpcyBmZWF0dXJlIHRvIHRoZSBgaG93LW1hbnlgIGZ1bmN0aW9uLjwvcD48cD5J
IGFscmVhZHkgd3JvdGUgdGhpcyBtb2RpZmllZCB2ZXJzaW9uIChFbWFjcyAyOS4yKTo8YnI+YGBg
PC9wPjxwPihkZWZ1biByZS1zZWFyY2gtZm9yd2FyZC1pZnAgKFJFR0VYUCAmYW1wO29wdGlvbmFs
IEJPVU5EIE5PRVJST1IgQ09VTlQpPGJyPiZuYnNwOyAiTW9kaWZpZWQgdmVyc2lvbiBvZiBgc2Vh
cmNoLWZvcndhcmQtcmVnZXhwJyB0aGF0PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBmaWx0ZXJzIChz
a2lwcykgbWF0Y2hlcyBhY2NvcmRpbmcgdG8gYGlzZWFyY2gtZmlsdGVyLXByZWRpY2F0ZScuIjxi
cj48YnI+Jm5ic3A7IChsZXQgKChQT0lOVCAocG9pbnQpKSk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
IChjYXRjaCAnZmlsdGVyZWQ8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICh3aGls
ZSAoc2VhcmNoLWZvcndhcmQtcmVnZXhwIFJFR0VYUCBCT1VORCBOT0VSUk9SIENPVU5UKTxicj4m
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKGxldCAoKEIgKG1hdGNo
LWJlZ2lubmluZyAwKSk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IChFIChtYXRjaC1lbmQgMCkp
KTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsgKHdoZW4gKGZ1bmNhbGwgaXNlYXJjaC1maWx0ZXItcHJlZGljYXRlIEIgRSk8YnI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7ICh0aHJvdyAnZmlsdGVyZWQgKHBvaW50KSkpKSk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7IChnb3RvLWNoYXIgUE9JTlQpPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyBuaWwpKSk8YnI+KGRlZmFsaWFzICdzZWFyY2gtZm9yd2FyZC1yZWdleHAtaWZwICdyZS1z
ZWFyY2gtZm9yd2FyZC1pZnApPGJyPjxicj4oZGVmdW4gaG93LW1hbnktaWZwIChyZWdleHAgJmFt
cDtvcHRpb25hbCByc3RhcnQgcmVuZCBpbnRlcmFjdGl2ZSk8YnI+Jm5ic3A7ICJNb2RpZmllZCB2
ZXJzaW9uIG9mIGBob3ctbWFueScgdGhhdCBmaWx0ZXJzIChza2lwcykgbWF0Y2hlczxicj4mbmJz
cDsmbmJzcDsmbmJzcDsgYWNjb3JkaW5nIHRvIGBpc2VhcmNoLWZpbHRlci1wcmVkaWNhdGUnLiI8
YnI+PGJyPiZuYnNwOyAoaW50ZXJhY3RpdmU8YnI+Jm5ic3A7Jm5ic3A7IChrZWVwLWxpbmVzLXJl
YWQtYXJncyAiSG93IG1hbnkgbWF0Y2hlcyBmb3IgcmVnZXhwIikpPGJyPiZuYnNwOyAoc2F2ZS1l
eGN1cnNpb248YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IChpZiByc3RhcnQ8YnI+Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IChpZiByZW5kPGJyPiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAocHJv
Z248YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IChnb3RvLWNoYXIgKG1pbiByc3RhcnQgcmVuZCkp
PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAoc2V0cSByZW5kIChtYXggcnN0YXJ0IHJlbmQpKSk8
YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
IChnb3RvLWNoYXIgcnN0YXJ0KTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgKHNldHEgcmVuZCAocG9pbnQtbWF4KSkpPGJyPiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAoaWYgKGFuZCBpbnRlcmFjdGl2ZSAodXNlLXJlZ2lvbi1w
KSk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IChzZXRxIHJzdGFydCAocmVnaW9uLWJlZ2lubmluZyk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHJlbmQgKHJlZ2lvbi1lbmQpKTxicj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKHNldHEgcnN0YXJ0IChwb2ludCk8YnI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7IHJlbmQgKHBvaW50LW1heCkpKTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgKGdvdG8tY2hhciByc3RhcnQpKTxicj4mbmJzcDsmbmJzcDsmbmJzcDsgKGxldCAo
KGNvdW50IDApPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyAoY2FzZS1mb2xkLXNlYXJjaDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKGlmIChhbmQgY2FzZS1mb2xkLXNl
YXJjaCBzZWFyY2gtdXBwZXItY2FzZSk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IChp
c2VhcmNoLW5vLXVwcGVyLWNhc2UtcCByZWdleHAgdCk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNhc2Ut
Zm9sZC1zZWFyY2gpKSk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICh3aGlsZSAo
YW5kICgmbHQ7IChwb2ludCkgcmVuZCk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IChyZS1zZWFyY2gtZm9yd2FyZC1pZnAgcmVnZXhwIHJlbmQgdCkpPGJy
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA7OyBFbnN1cmUgZm9y
d2FyZCBwcm9ncmVzcyBvbiB6ZXJvLWxlbmd0aCBtYXRjaGVzIGxpa2UgIl4kIi48YnI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICh3aGVuIChhbmQgKD0gKG1hdGNo
LWJlZ2lubmluZyAwKSAobWF0Y2gtZW5kIDApKTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKG5vdCAoZW9icCkpKTxicj4mbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKGZvcndhcmQtY2hhciAx
KSk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IChzZXRxIGNv
dW50ICgxKyBjb3VudCkpKTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKHdoZW4g
aW50ZXJhY3RpdmUgKG1lc3NhZ2UgKG5nZXR0ZXh0ICIlZCBvY2N1cnJlbmNlIjxicj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgIiVkIG9jY3VycmVuY2VzIjxicj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsgY291bnQpPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjb3VudCkpPGJyPiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjb3VudCkpKTxicj4oZGVmYWxpYXMgJ2NvdW50LW1hdGNo
ZXMtaWZwICdob3ctbWFueS1pZnApPGJyPjwvcD48cD5gYGA8YnI+PC9wPjxwPkJlc3QgcmVnYXJk
cyw8L3A+PHA+R2FicmllbGUgTmljb2xhcmRpPGJyPjwvcD4=" aria-hidden="true"
style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0;padding:0;margin:0;">​</div>
    </div>
  </body>
</html>

--------------zrEEoRN1SeuqiwV3Q46w2Jya--




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Gabriele Nicolardi <gabriele@HIDDEN>
Subject: bug#69542: Acknowledgement (Feature request: making occur obey
 isearch-filter-predicate)
Message-ID: <handler.69542.B.17095527376916.ack <at> debbugs.gnu.org>
References: <6071eb9a-fa15-45fb-9917-7a35c7556680@HIDDEN>
X-Gnu-PR-Message: ack 69542
X-Gnu-PR-Package: emacs
Reply-To: 69542 <at> debbugs.gnu.org
Date: Mon, 04 Mar 2024 11:46:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 69542 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
69542: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D69542
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems



Last modified: Mon, 4 Mar 2024 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.