From unknown Fri Jun 20 07:17:44 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#59722 <59722@debbugs.gnu.org> To: bug#59722 <59722@debbugs.gnu.org> Subject: Status: 30.0.50; project-find-regexp searches project-ignored files Reply-To: bug#59722 <59722@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:17:44 +0000 retitle 59722 30.0.50; project-find-regexp searches project-ignored files reassign 59722 emacs submitter 59722 Rudolf Adamkovi=C4=8D severity 59722 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 30 09:35:58 2022 Received: (at submit) by debbugs.gnu.org; 30 Nov 2022 14:35:58 +0000 Received: from localhost ([127.0.0.1]:33151 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0OBo-0005rr-P0 for submit@debbugs.gnu.org; Wed, 30 Nov 2022 09:35:58 -0500 Received: from lists.gnu.org ([209.51.188.17]:36630) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0OBk-0005rk-LD for submit@debbugs.gnu.org; Wed, 30 Nov 2022 09:35:55 -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 ) id 1p0OBk-0003z7-BX for bug-gnu-emacs@gnu.org; Wed, 30 Nov 2022 09:35:52 -0500 Received: from qs51p00im-qukt01080102.me.com ([17.57.155.19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p0OBh-0003gr-9o for bug-gnu-emacs@gnu.org; Wed, 30 Nov 2022 09:35:52 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1669818947; bh=vKeGGPyuPcxXYYpEf8/LrPYcq6EwmdG70/1GvKop/3c=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=oOFWqNrVAHJaFk8rZtYMdFGRKRNSs2R2RJe97QKJV+OzoWBCL4UqIxL5VRmgnccOs PY7PZaGBq8XlbGGfyzpecf5ePyY6NeoA94l7KqE1Eo+HXs9yM5LDvrD29GthedgGax EGy3yQlpj07cI5HejZTVulmzQZyPz9jDwIxOIfaV8KJpcWNfqvBxl6ng8sl7nARKxq d4bn3GPS0XGOGFe3KHV+ebZmZ2gtRUHxltAJ9qCzyYzMXh3lPV6p0btunnh9ToOto4 s+GkvMddelnB9kBcF3DzubkySyfbAmgxDn5qtr6ccYXPjZQqWZjW/VHV+BmABjPYM1 pN2XK1S0JgNpg== Received: from Rudolfs-MacBook-Air.local (qs51p00im-dlb-asmtp-mailmevip.me.com [17.57.155.28]) by qs51p00im-qukt01080102.me.com (Postfix) with ESMTPSA id 5D9101CC0132 for ; Wed, 30 Nov 2022 14:35:46 +0000 (UTC) From: =?utf-8?Q?Rudolf_Adamkovi=C4=8D?= To: bug-gnu-emacs@gnu.org Subject: 30.0.50; project-find-regexp searches project-ignored files Date: Wed, 30 Nov 2022 15:35:42 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: FAwUJG5-EbEZ7y_C-IP26pJsd0MwIajw X-Proofpoint-ORIG-GUID: FAwUJG5-EbEZ7y_C-IP26pJsd0MwIajw X-Proofpoint-Virus-Version: =?UTF-8?Q?vendor=3Dfsecure_engine=3D1.1.170-22c6f66c430a71ce266a39bfe25bc?= =?UTF-8?Q?2903e8d5c8f:6.0.425,18.0.572,17.11.62.513.0000000_definitions?= =?UTF-8?Q?=3D2022-01-11=5F01:2022-01-11=5F01,2020-02-14=5F11,2021-12-02?= =?UTF-8?Q?=5F01_signatures=3D0?= X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 phishscore=0 bulkscore=0 clxscore=1015 mlxscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2211300101 Received-SPF: pass client-ip=17.57.155.19; envelope-from=salutis@me.com; helo=qs51p00im-qukt01080102.me.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) I have the following `project.el' configuration: (setq xref-search-program 'ripgrep) and the following `.dir-locals.el' file in a project: ((nil . ((project-ignores . ("apps/**/*.scm"))))) As expected, e.g. `project-find-file' ignores all `.scm' files in the `apps' subdirectory of the project, however `project-find-regexp' does not ignore them. TL;DR, Expected: `project-find-regexp' honors `project-ignores' Rudy In GNU Emacs 30.0.50 (build 2, aarch64-apple-darwin22.1.0, NS appkit-2299.00 Version 13.0.1 (Build 22A400)) of 2022-11-30 built on Rudolfs-MacBook-Air.local Repository revision: 7939184f8e0370e7a3397d492812c6d202c2a193 Repository branch: master Windowing system distributor 'Apple', version 10.3.2299 System Description: macOS 13.0.1 Configured using: 'configure --with-json --with-tree-sitter' Configured features: ACL GLIB GNUTLS JSON LCMS2 LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB Important settings: value of $LC_ALL: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: TeX-PDF-mode: t flyspell-mode: t flimenu-global-mode: t flimenu-mode: t global-hl-todo-mode: t shell-dirtrack-mode: t sly-symbol-completion-mode: t whitespace-mode: t display-fill-column-indicator-mode: t display-line-numbers-mode: t savehist-mode: t delete-selection-mode: t global-goto-address-mode: t goto-address-mode: t global-subword-mode: t subword-mode: t save-place-mode: t global-auto-revert-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t size-indication-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /Users/salutis/.emacs.d/elpa/transient-20221127.2242/transient hides /Users= /salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/transient ~/src/org-mode/lisp/ob-exp hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ob-exp ~/src/org-mode/lisp/ob-emacs-lisp hides /Users/salutis/src/emacs/nextstep/E= macs.app/Contents/Resources/lisp/org/ob-emacs-lisp ~/src/org-mode/lisp/oc hides /Users/salutis/src/emacs/nextstep/Emacs.app/Co= ntents/Resources/lisp/org/oc ~/src/org-mode/lisp/ob-css hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ob-css ~/src/org-mode/lisp/ob-lob hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ob-lob ~/src/org-mode/lisp/ol-irc hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ol-irc ~/src/org-mode/lisp/ob-forth hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/ob-forth ~/src/org-mode/lisp/org-macs hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/org-macs ~/src/org-mode/lisp/ob hides /Users/salutis/src/emacs/nextstep/Emacs.app/Co= ntents/Resources/lisp/org/ob ~/src/org-mode/lisp/org-version hides /Users/salutis/src/emacs/nextstep/Ema= cs.app/Contents/Resources/lisp/org/org-version ~/src/org-mode/lisp/ob-scheme hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ob-scheme ~/src/org-mode/lisp/ox hides /Users/salutis/src/emacs/nextstep/Emacs.app/Co= ntents/Resources/lisp/org/ox ~/src/org-mode/lisp/ob-C hides /Users/salutis/src/emacs/nextstep/Emacs.app/= Contents/Resources/lisp/org/ob-C ~/src/org-mode/lisp/org-capture hides /Users/salutis/src/emacs/nextstep/Ema= cs.app/Contents/Resources/lisp/org/org-capture ~/src/org-mode/lisp/ob-ref hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ob-ref ~/src/org-mode/lisp/ob-clojure hides /Users/salutis/src/emacs/nextstep/Emac= s.app/Contents/Resources/lisp/org/ob-clojure ~/src/org-mode/lisp/org-mouse hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/org-mouse ~/src/org-mode/lisp/org-ctags hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/org-ctags ~/src/org-mode/lisp/org-entities hides /Users/salutis/src/emacs/nextstep/Em= acs.app/Contents/Resources/lisp/org/org-entities ~/src/org-mode/lisp/org-archive hides /Users/salutis/src/emacs/nextstep/Ema= cs.app/Contents/Resources/lisp/org/org-archive ~/src/org-mode/lisp/ob-screen hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ob-screen ~/src/org-mode/lisp/ol-bibtex hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ol-bibtex ~/src/org-mode/lisp/ob-haskell hides /Users/salutis/src/emacs/nextstep/Emac= s.app/Contents/Resources/lisp/org/ob-haskell ~/src/org-mode/lisp/org-loaddefs hides /Users/salutis/src/emacs/nextstep/Em= acs.app/Contents/Resources/lisp/org/org-loaddefs ~/src/org-mode/lisp/org-table hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/org-table ~/src/org-mode/lisp/ol-eww hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ol-eww ~/src/org-mode/lisp/ol-man hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ol-man ~/src/org-mode/lisp/ox-org hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ox-org ~/src/org-mode/lisp/org-num hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/org-num ~/src/org-mode/lisp/org-plot hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/org-plot ~/src/org-mode/lisp/ol-rmail hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/ol-rmail ~/src/org-mode/lisp/ob-awk hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ob-awk ~/src/org-mode/lisp/ob-groovy hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ob-groovy ~/src/org-mode/lisp/ob-octave hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ob-octave ~/src/org-mode/lisp/org-faces hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/org-faces ~/src/org-mode/lisp/oc-biblatex hides /Users/salutis/src/emacs/nextstep/Ema= cs.app/Contents/Resources/lisp/org/oc-biblatex ~/src/org-mode/lisp/org-colview hides /Users/salutis/src/emacs/nextstep/Ema= cs.app/Contents/Resources/lisp/org/org-colview ~/src/org-mode/lisp/ob-R hides /Users/salutis/src/emacs/nextstep/Emacs.app/= Contents/Resources/lisp/org/ob-R ~/src/org-mode/lisp/org-refile hides /Users/salutis/src/emacs/nextstep/Emac= s.app/Contents/Resources/lisp/org/org-refile ~/src/org-mode/lisp/org-timer hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/org-timer ~/src/org-mode/lisp/org-mobile hides /Users/salutis/src/emacs/nextstep/Emac= s.app/Contents/Resources/lisp/org/org-mobile ~/src/org-mode/lisp/ob-fortran hides /Users/salutis/src/emacs/nextstep/Emac= s.app/Contents/Resources/lisp/org/ob-fortran ~/src/org-mode/lisp/ob-shell hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/ob-shell ~/src/org-mode/lisp/ob-perl hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/ob-perl ~/src/org-mode/lisp/ob-sqlite hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ob-sqlite ~/src/org-mode/lisp/oc-basic hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/oc-basic ~/src/org-mode/lisp/ob-sed hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ob-sed ~/src/org-mode/lisp/org-list hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/org-list ~/src/org-mode/lisp/ob-ruby hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/ob-ruby ~/src/org-mode/lisp/ob-eval hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/ob-eval ~/src/org-mode/lisp/org-habit hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/org-habit ~/src/org-mode/lisp/org-clock hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/org-clock ~/src/org-mode/lisp/org-goto hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/org-goto ~/src/org-mode/lisp/ox-html hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/ox-html ~/src/org-mode/lisp/org-src hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/org-src ~/src/org-mode/lisp/ob-lisp hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/ob-lisp ~/src/org-mode/lisp/ol-eshell hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ol-eshell ~/src/org-mode/lisp/ob-ditaa hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/ob-ditaa ~/src/org-mode/lisp/org-pcomplete hides /Users/salutis/src/emacs/nextstep/E= macs.app/Contents/Resources/lisp/org/org-pcomplete ~/src/org-mode/lisp/org-lint hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/org-lint ~/src/org-mode/lisp/ox-latex hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/ox-latex ~/src/org-mode/lisp/ob-sass hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/ob-sass ~/src/org-mode/lisp/ob-tangle hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ob-tangle ~/src/org-mode/lisp/ob-calc hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/ob-calc ~/src/org-mode/lisp/ob-java hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/ob-java ~/src/org-mode/lisp/ox-icalendar hides /Users/salutis/src/emacs/nextstep/Em= acs.app/Contents/Resources/lisp/org/ox-icalendar ~/src/org-mode/lisp/ol-mhe hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ol-mhe ~/src/org-mode/lisp/org-attach-git hides /Users/salutis/src/emacs/nextstep/= Emacs.app/Contents/Resources/lisp/org/org-attach-git ~/src/org-mode/lisp/ox-md hides /Users/salutis/src/emacs/nextstep/Emacs.app= /Contents/Resources/lisp/org/ox-md ~/src/org-mode/lisp/ox-beamer hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ox-beamer ~/src/org-mode/lisp/org-element hides /Users/salutis/src/emacs/nextstep/Ema= cs.app/Contents/Resources/lisp/org/org-element ~/src/org-mode/lisp/oc-natbib hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/oc-natbib ~/src/org-mode/lisp/org-protocol hides /Users/salutis/src/emacs/nextstep/Em= acs.app/Contents/Resources/lisp/org/org-protocol ~/src/org-mode/lisp/ob-gnuplot hides /Users/salutis/src/emacs/nextstep/Emac= s.app/Contents/Resources/lisp/org/ob-gnuplot ~/src/org-mode/lisp/org-tempo hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/org-tempo ~/src/org-mode/lisp/ob-latex hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/ob-latex ~/src/org-mode/lisp/ol-w3m hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ol-w3m ~/src/org-mode/lisp/org-id hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/org-id ~/src/org-mode/lisp/ox-man hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ox-man ~/src/org-mode/lisp/ol-doi hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ol-doi ~/src/org-mode/lisp/org-feed hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/org-feed ~/src/org-mode/lisp/ob-julia hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/ob-julia ~/src/org-mode/lisp/ob-lua hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ob-lua ~/src/org-mode/lisp/ob-table hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/ob-table ~/src/org-mode/lisp/ob-ocaml hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/ob-ocaml ~/src/org-mode/lisp/oc-csl hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/oc-csl ~/src/org-mode/lisp/ol-gnus hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/ol-gnus ~/src/org-mode/lisp/org-indent hides /Users/salutis/src/emacs/nextstep/Emac= s.app/Contents/Resources/lisp/org/org-indent ~/src/org-mode/lisp/ob-lilypond hides /Users/salutis/src/emacs/nextstep/Ema= cs.app/Contents/Resources/lisp/org/ob-lilypond ~/src/org-mode/lisp/ob-matlab hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ob-matlab ~/src/org-mode/lisp/org-datetree hides /Users/salutis/src/emacs/nextstep/Em= acs.app/Contents/Resources/lisp/org/org-datetree ~/src/org-mode/lisp/ol-docview hides /Users/salutis/src/emacs/nextstep/Emac= s.app/Contents/Resources/lisp/org/ol-docview ~/src/org-mode/lisp/ob-python hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ob-python ~/src/org-mode/lisp/ob-makefile hides /Users/salutis/src/emacs/nextstep/Ema= cs.app/Contents/Resources/lisp/org/ob-makefile ~/src/org-mode/lisp/org-duration hides /Users/salutis/src/emacs/nextstep/Em= acs.app/Contents/Resources/lisp/org/org-duration ~/src/org-mode/lisp/org-agenda hides /Users/salutis/src/emacs/nextstep/Emac= s.app/Contents/Resources/lisp/org/org-agenda ~/src/org-mode/lisp/ob-dot hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ob-dot ~/src/org-mode/lisp/ob-js hides /Users/salutis/src/emacs/nextstep/Emacs.app= /Contents/Resources/lisp/org/ob-js ~/src/org-mode/lisp/ox-publish hides /Users/salutis/src/emacs/nextstep/Emac= s.app/Contents/Resources/lisp/org/ox-publish ~/src/org-mode/lisp/org-inlinetask hides /Users/salutis/src/emacs/nextstep/= Emacs.app/Contents/Resources/lisp/org/org-inlinetask ~/src/org-mode/lisp/ob-org hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ob-org ~/src/org-mode/lisp/org-keys hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/org-keys ~/src/org-mode/lisp/ob-core hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/ob-core ~/src/org-mode/lisp/org-compat hides /Users/salutis/src/emacs/nextstep/Emac= s.app/Contents/Resources/lisp/org/org-compat ~/src/org-mode/lisp/ol hides /Users/salutis/src/emacs/nextstep/Emacs.app/Co= ntents/Resources/lisp/org/ol ~/src/org-mode/lisp/ox-odt hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ox-odt ~/src/org-mode/lisp/ol-info hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/ol-info ~/src/org-mode/lisp/ob-plantuml hides /Users/salutis/src/emacs/nextstep/Ema= cs.app/Contents/Resources/lisp/org/ob-plantuml ~/src/org-mode/lisp/ob-eshell hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ob-eshell ~/src/org-mode/lisp/ox-ascii hides /Users/salutis/src/emacs/nextstep/Emacs.= app/Contents/Resources/lisp/org/ox-ascii ~/src/org-mode/lisp/ox-koma-letter hides /Users/salutis/src/emacs/nextstep/= Emacs.app/Contents/Resources/lisp/org/ox-koma-letter ~/src/org-mode/lisp/ob-maxima hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ob-maxima ~/src/org-mode/lisp/org hides /Users/salutis/src/emacs/nextstep/Emacs.app/C= ontents/Resources/lisp/org/org ~/src/org-mode/lisp/ol-bbdb hides /Users/salutis/src/emacs/nextstep/Emacs.a= pp/Contents/Resources/lisp/org/ol-bbdb ~/src/org-mode/lisp/org-macro hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/org-macro ~/src/org-mode/lisp/ob-sql hides /Users/salutis/src/emacs/nextstep/Emacs.ap= p/Contents/Resources/lisp/org/ob-sql ~/src/org-mode/lisp/org-attach hides /Users/salutis/src/emacs/nextstep/Emac= s.app/Contents/Resources/lisp/org/org-attach ~/src/org-mode/lisp/ob-processing hides /Users/salutis/src/emacs/nextstep/E= macs.app/Contents/Resources/lisp/org/ob-processing ~/src/org-mode/lisp/ox-texinfo hides /Users/salutis/src/emacs/nextstep/Emac= s.app/Contents/Resources/lisp/org/ox-texinfo ~/src/org-mode/lisp/org-crypt hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/org-crypt ~/src/org-mode/lisp/org-footnote hides /Users/salutis/src/emacs/nextstep/Em= acs.app/Contents/Resources/lisp/org/org-footnote ~/src/org-mode/lisp/ob-comint hides /Users/salutis/src/emacs/nextstep/Emacs= .app/Contents/Resources/lisp/org/ob-comint Features: (shadow sort notmuch notmuch-tree notmuch-jump notmuch-hello notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-message notmuch-draft notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser notmuch-wash coolj icalendar diary-lib diary-loaddefs notmuch-tag notmuch-lib notmuch-version notmuch-compat mail-extr emacsbug sh-script treesit executable ruby-mode smie ebnf-mode pulse color misearch multi-isearch hl-line grep cape geiser-mode geiser-xref geiser-compile geiser-guile info-look transient geiser-debug geiser-repl geiser-image geiser-capf geiser-doc geiser-menu geiser-autodoc geiser-edit geiser-completion geiser-eval geiser-connection tq geiser-syntax geiser-log geiser-popup view scheme vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view pcvs-util char-fold orderless rect cursor-sensor imenu ess-r-mode ess-r-flymake ess-r-xref ess-trns ess-r-package ess-r-completion ess-roxy ess-r-syntax ess-rd hideshow ess-s-lang ess-help ess-mode ess-inf ess-tracebug tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat ess ess-utils ess-custom citar-org oc-basic citar citar-file citar-cache citar-format preview reftex-dcr reftex reftex-loaddefs reftex-vars font-latex latex latex-flymake tex-ispell tex-style tex crm texmathp tex-mode vc-git diff-mode tempo image-file image-converter disp-table ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range message sendmail yank-media puny rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util mail-utils range mm-util mail-prsvr ol-docview doc-view image-mode exif cus-start ls-lisp dired dired-loaddefs ol-bbdb ol-w3m ol-doi org-link-doi paredit edmacro kmacro flyspell ispell flimenu hl-todo compat compat-macs modus-operandi-theme modus-themes pdf-loader package-vc vc vc-dispatcher lisp-mnt finder-inf ox-texinfo ox-md oc-csl citeproc citeproc-itemgetters citeproc-biblatex parse-time citeproc-bibtex parsebib ol-bibtex citeproc-cite citeproc-subbibs citeproc-sort citeproc-name citeproc-formatters citeproc-number rst citeproc-proc citeproc-disamb citeproc-itemdata citeproc-generic-elements citeproc-macro citeproc-choose citeproc-date citeproc-context citeproc-prange citeproc-style citeproc-locale citeproc-term f f-shortdoc shortdoc citeproc-rt citeproc-lib citeproc-s s let-alist queue dash bibtex iso8601 ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar org-habit org-agenda ox-html table ox-ascii ox-publish ox org-element org-persist xdg org-id org-refile avl-tree org-clock ob-lisp ob-makefile ob-latex ob-scheme geiser ob-dot ob-R ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-shell shell ob-java ob-sqlite ob-sql ob-org sly gud sly-completion sly-buttons easy-mmode sly-messages sly-common apropos etags fileloop generator xref arc-mode archive-mode hyperspec whitespace display-fill-column-indicator display-line-numbers fortune flymake-proc flymake project compile text-property-search savehist comp pcase derived comp-cstr warnings cl-extra jka-compr delsel goto-addr thingatpt cap-words superword subword saveplace cus-edit pp cus-load wid-edit bug-reference autorevert filenotify org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete pcomplete comint ansi-osc ansi-color org-list org-footnote org-faces org-entities time-date noutline outline icons ob-emacs-lisp ob-core ob-eval org-cycle org-table ol rx org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-version org-compat org-macs format-spec geiser-guile-autoloads geiser-impl help-fns radix-tree help-mode geiser-custom geiser-base ring flyspell-correct-autoloads flymake-grammarly-autoloads flimenu-autoloads grammarly-autoloads markdown-mode-autoloads org-drill-autoloads rainbow-mode-autoloads bbdb-autoloads vterm-autoloads paredit-autoloads swift-mode-autoloads htmlize-autoloads emms-autoloads yaml-mode-autoloads websocket-autoloads geiser-autoloads kotlin-mode-autoloads persist-autoloads request-autoloads bnf-mode-autoloads cape-autoloads imenu-list-autoloads mentor-autoloads async-autoloads xml-rpc-autoloads magit-autoloads git-commit-autoloads modus-themes-autoloads url-scgi-autoloads side-hustle-autoloads magit-section-autoloads telega-autoloads rainbow-identifiers-autoloads password-store-autoloads with-editor-autoloads orderless-autoloads citar-autoloads citeproc-autoloads queue-autoloads f-autoloads s-autoloads dash-autoloads string-inflection-autoloads diff-hl-autoloads parsebib-autoloads ebnf-mode-autoloads graphviz-dot-mode-autoloads visual-fill-column-autoloads hl-todo-autoloads org-pomodoro-autoloads alert-autoloads log4e-autoloads gntp-autoloads sly-autoloads ess-autoloads auctex-autoloads tex-site elfeed-tube-mpv-autoloads mpv-autoloads sql-indent-autoloads sqlup-mode-autoloads pdf-tools-autoloads tablist-autoloads elfeed-tube-autoloads aio-autoloads elfeed-autoloads transient-autoloads info compat-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads kqueue cocoa ns lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 1563388 84174) (symbols 48 72315 45) (strings 32 348928 17709) (string-bytes 1 9992001) (vectors 16 98854) (vector-slots 8 2343903 144867) (floats 8 608 345) (intervals 56 40593 1158) (buffers 992 31)) --=20 "'Contrariwise,' continued Tweedledee, 'if it was so, it might be; and if it were so, it would be; but as it isn't, it ain't. That's logic.'" -- Lewis Carroll, Through the Looking Glass, 1871/1872 Rudolf Adamkovi=C4=8D [he/him] Studenohorsk=C3=A1 25 84103 Bratislava Slovakia From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 30 10:09:51 2022 Received: (at 59722) by debbugs.gnu.org; 30 Nov 2022 15:09:51 +0000 Received: from localhost ([127.0.0.1]:33335 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0Oic-0006Ed-R3 for submit@debbugs.gnu.org; Wed, 30 Nov 2022 10:09:51 -0500 Received: from mail-wr1-f41.google.com ([209.85.221.41]:34613) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0Oia-0006EW-9O for 59722@debbugs.gnu.org; Wed, 30 Nov 2022 10:09:49 -0500 Received: by mail-wr1-f41.google.com with SMTP id o5so18546815wrm.1 for <59722@debbugs.gnu.org>; Wed, 30 Nov 2022 07:09:48 -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:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=kD3hJ3NlJIsCCTJZ8olJM425/71/ZaGKCjIUmQOcYTE=; b=p6K5HEmZkB+2Mg96oLLIRcstyDMVl8RJ3MQ5QC9hTPCKj+YkDL0QimJ5bYCW42Ycgg vsLQPlreWN6Zjx1mIRgwASs53oaeoGp8hhKJX1WU6I7nMhXP+uHLxnAF2Vm3R7hAKvZE G8E55Ifv1lENgBl7pUIBbPtXD9pqDV5lv40r+Ij3HPY8dS73IYdP9wL1BRWuefhoesOD KJsNPfT2p+eP0C4kPBK/R1bMFftzFRvMpufJvIshn5p0d2GXpwA4O8gKT2XYvb5p6bAu 3EFDpeJGG4ml4TAPVxkL8FP6vhWOaXlh1+2PP2FrU8m22Gzev8SdOabcCHaAUFiojhUq 3ZOQ== 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: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=kD3hJ3NlJIsCCTJZ8olJM425/71/ZaGKCjIUmQOcYTE=; b=qj4bx3ug2OHzKXGqqp1P5lOaBs8vFxN3wa+ild21bvwURbuVsN0ii9mDNJVyogmbyk mYTSxXwIq7qeK4WJywZ6cuIuhq4VYvPAeNkDhOqaTBInPvnlNcNAHdKgpfNiqQg6iR5A krs2En7HFXASBmMXmaWWT/2la6ctZqqh9YKWlhJxnWrnNe/Gnw7t/cg1/pgSdIj6op8D qhYUXNNAJHXesVX6IhMX0+4UcEXRQsha8HqShbh/kzYkwpJkw3sKvq6g2vCvK992uVug 6fcV7MdKLm+6uJwpDvl474DcpfDJxfhDC45IYT28luxCV8n5G0/pKDfG97ILj60vuWe2 hl5w== X-Gm-Message-State: ANoB5plRP3UXdLzOyM7XVE6yaSTy4boNAjTZUxkmqAkro9tgM0hRKwDP 9OqUwO+bLo5VGhOuRUoVSY0= X-Google-Smtp-Source: AA0mqf6SvVevmS7kmG9HvL73nIkjmkMMzO1GoRFLslVarOPOxTX7xE3vnHaasXW3RkqGj3H7CvYtmQ== X-Received: by 2002:a5d:4ccb:0:b0:236:d611:4fcf with SMTP id c11-20020a5d4ccb000000b00236d6114fcfmr27450424wrt.192.1669820981374; Wed, 30 Nov 2022 07:09:41 -0800 (PST) Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id w5-20020a5d6805000000b00241ce5d605dsm1741467wru.110.2022.11.30.07.09.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 30 Nov 2022 07:09:40 -0800 (PST) Message-ID: <9de53f42-8f76-3770-b059-d78a5252d31a@yandex.ru> Date: Wed, 30 Nov 2022 17:09:38 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: bug#59722: 30.0.50; project-find-regexp searches project-ignored files Content-Language: en-US To: =?UTF-8?Q?Rudolf_Adamkovi=c4=8d?= , 59722@debbugs.gnu.org References: From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 59722 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 30/11/2022 16:35, Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > > I have the following `project.el' configuration: > > (setq xref-search-program 'ripgrep) > > and the following `.dir-locals.el' file in a project: > > ((nil . ((project-ignores . ("apps/**/*.scm"))))) > > As expected, e.g. `project-find-file' ignores all `.scm' files in the > `apps' subdirectory of the project, however `project-find-regexp' does > not ignore them. TL;DR, > > Expected: > > `project-find-regexp' honors `project-ignores' Hi! 'project-ignores' is not a variable, it's a generic function. What backend are you using? If it's (most likely) project-vc, then the variable you must be looking for is 'project-vc-ignores'. To answer the "what backend" question, you can evaluate (project-current). From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 30 18:20:59 2022 Received: (at 59722) by debbugs.gnu.org; 30 Nov 2022 23:21:00 +0000 Received: from localhost ([127.0.0.1]:35711 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0WNv-0005Ed-J3 for submit@debbugs.gnu.org; Wed, 30 Nov 2022 18:20:59 -0500 Received: from mr85p00im-hyfv06021401.me.com ([17.58.23.190]:60552) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0WNr-0005EV-Hy for 59722@debbugs.gnu.org; Wed, 30 Nov 2022 18:20:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1669850449; bh=D3Jc5PGRQhudY3xOPPA1xkpJQrFgKSHEB0tKsn7FUfQ=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=mMk/IhowssMOT7OrdrC0kCiOngGkjaTtb1Xq3Vxn5DyEmaUlnoNjzi+9+nuYwhFoM A7ufXbdOeM14RDMPPYzkEa1qw+YVmrVBSlxWbRLdNn9v+w5Vz9bYGs+f7xKS5wIplb YRiCLc9YLZ9hWXH/CJNbARv8RBrW20Eis5Hn+MjnBIwDuTidfIUEFEa0T3pwk1W9Ap akF1+yp8nu1dhKQ2KB1qBSZ5zUt0Ax+klaGn6gDpDS0PLukocY2TXX96qZ95khDel0 IGaGJjsT5TbLhS65noGIwhtZxUoj0PEngCGt1eURXmgiRcEBhSAqDGof9d5Qb86Sd4 ZjNCVkRgDqTbg== Received: from Rudolfs-MacBook-Air.local (mr38p00im-dlb-asmtp-mailmevip.me.com [17.57.152.18]) by mr85p00im-hyfv06021401.me.com (Postfix) with ESMTPSA id 17F803038AEE; Wed, 30 Nov 2022 23:20:48 +0000 (UTC) From: Rudolf =?utf-8?Q?Adamkovi=C4=8D?= To: Dmitry Gutov , 59722@debbugs.gnu.org Subject: Re: bug#59722: 30.0.50; project-find-regexp searches project-ignored files In-Reply-To: <9de53f42-8f76-3770-b059-d78a5252d31a@yandex.ru> References: <9de53f42-8f76-3770-b059-d78a5252d31a@yandex.ru> Date: Thu, 01 Dec 2022 00:20:45 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: tu6hUZEq0Z2_WEBtr-JohPbkjsuJ1dRh X-Proofpoint-ORIG-GUID: tu6hUZEq0Z2_WEBtr-JohPbkjsuJ1dRh X-Proofpoint-Virus-Version: =?UTF-8?Q?vendor=3Dfsecure_engine=3D1.1.170-22c6f66c430a71ce266a39bfe25bc?= =?UTF-8?Q?2903e8d5c8f:6.0.425,18.0.816,17.0.605.474.0000000_definitions?= =?UTF-8?Q?=3D2022-01-18=5F01:2022-01-14=5F01,2022-01-18=5F01,2020-01-23?= =?UTF-8?Q?=5F02_signatures=3D0?= X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 clxscore=1011 mlxscore=0 spamscore=0 mlxlogscore=885 suspectscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2211300165 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 59722 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Dmitry Gutov writes: > Hi! 'project-ignores' is not a variable, it's a generic function. Oops! Correct. > What backend are you using? If it's (most likely) project-vc, then the > variable you must be looking for is 'project-vc-ignores'. I do use the Git (VC) backend. Correction: When I set the dir locals file to ((nil . ((project-vc-ignores . ("apps/**/*.scm"))))) I face the problem where C-x p f ignores the files in the "apps" directory, as expected, but C-x p g does not. [The "apps" directory in question contains symbolic links that make Ripgrep, invoked via C-x p g, see various files multiple times, resulting in what looks like "chaos".] I apologize for the confusion! Rudy --=20 "The introduction of suitable abstractions is our only mental aid to organize and master complexity." -- Edsger Wybe Dijkstra, 1930-2002 Rudolf Adamkovi=C4=8D [he/him] Studenohorsk=C3=A1 25 84103 Bratislava Slovakia From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 30 18:30:14 2022 Received: (at 59722) by debbugs.gnu.org; 30 Nov 2022 23:30:14 +0000 Received: from localhost ([127.0.0.1]:35757 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0WWs-0005Ly-3t for submit@debbugs.gnu.org; Wed, 30 Nov 2022 18:30:14 -0500 Received: from mail-wm1-f48.google.com ([209.85.128.48]:46828) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0WWp-0005Kj-AP for 59722@debbugs.gnu.org; Wed, 30 Nov 2022 18:30:12 -0500 Received: by mail-wm1-f48.google.com with SMTP id m7-20020a05600c090700b003cf8a105d9eso186331wmp.5 for <59722@debbugs.gnu.org>; Wed, 30 Nov 2022 15:30:11 -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:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=aFuS4ZP/zy9bN7ImxKWXD22FIHEjATRA8DGiCNNyJPc=; b=IoXWHCj0HVlhFfI8aYCjMpI76D/aXG6/mnrOF1hBXoV31A3PILpO7oYIwXSQL0sNWd O4gQenlfvtBH59QfATF+P1jIGSBCJoY/jHoxW8wwat/J+Yg3pvDd2SQ+3W5LFxRiZOkk ggjXlnvWO7+nzG2mVQL6oSjywk0MArokmH/MHbAmaLYzb/VqvWCJnktyL78untXQFEiR kaEpwfrt192mjKmL5xOr6o5EQDHRrSpFXNezFpBURktDMHlXId1Op9sJ8kDeSALmHiUr 9KCmNxj+Eom7vPW2c0v4CNYjI3voZK77QO2h3+6ZVKlt+YmrhulZiVeq4z6E7mdynMgu BeEQ== 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: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=aFuS4ZP/zy9bN7ImxKWXD22FIHEjATRA8DGiCNNyJPc=; b=uuz8NYfT4sAwvxvFWMCtaNKVinR/oW7uPNdsMrWUihzp9YQawUB22INXRrxn1nkkxm 9Und/RGMCOojHRFgDAbN3gBa36PeETHdrQregHScpZw1mwmICajFbfDgehvbsnfipvMh 8Bc31szBThdrUDnIf/lg9C7wsAGENtzaKDE7FGMvbLhjF4bd9QGiw2N8owBXLo7h5Wia WTVg4q7ydKre7tgvrgVbMqjD0nAt3/PElzcGRKghg/jp4ezqhNuXpMis2X9bLTf1cUw0 7n14C9HM5lD1Y2XJNuns0OWWsjEBoqWKnzveA9Tyg4TjZ6scmVHzrUt1V6PRCp1paTKq T84Q== X-Gm-Message-State: ANoB5pmq9aOGN+lK+cRUg7D/wukolLj9Csku5/4LKPp2HUTDeu2x09Kh SqBPMqvyP6JhxpACIPjXQjM= X-Google-Smtp-Source: AA0mqf6Olg1VqYVQ2j0vlAWJZYkW9I09TkPbIlB9mQRiAHZPOnf5uFfpQtlfIB7fpCdjhsjIU44jdw== X-Received: by 2002:a1c:6a13:0:b0:3cf:7801:c780 with SMTP id f19-20020a1c6a13000000b003cf7801c780mr47142823wmc.29.1669851005455; Wed, 30 Nov 2022 15:30:05 -0800 (PST) Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id j33-20020a05600c1c2100b003b4ff30e566sm7247216wms.3.2022.11.30.15.30.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 30 Nov 2022 15:30:04 -0800 (PST) Message-ID: <1f6b991a-d67e-5e38-b77f-038e97218e4e@yandex.ru> Date: Thu, 1 Dec 2022 01:30:03 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: bug#59722: 30.0.50; project-find-regexp searches project-ignored files Content-Language: en-US To: =?UTF-8?Q?Rudolf_Adamkovi=c4=8d?= , 59722@debbugs.gnu.org References: <9de53f42-8f76-3770-b059-d78a5252d31a@yandex.ru> From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 59722 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 01/12/2022 01:20, Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: >> What backend are you using? If it's (most likely) project-vc, then the >> variable you must be looking for is 'project-vc-ignores'. > > I do use the Git (VC) backend. Correction: > > When I set the dir locals file to > > ((nil . ((project-vc-ignores . ("apps/**/*.scm"))))) > > I face the problem where C-x p f ignores the files in the "apps" > directory, as expected, but C-x p g does not. Okay. I wonder how that could be possible: project-find-regexp (that if what you have 'C-x p g' bound to, right?) does the search across the files returned by 'project-files'. So there is just one place that interprets the ignores' list and produces the list of files, and both project-find-file and project-find-regexp consume the result. Can you step through 'project-find-regexp' with edebug? Does the return value of 'project-files' (saved to 'files') contain the extra entries? Or are you calling 'project-find-regexp' with a prefix, which switches it to a different mode (the 'project--files-in-directory' branch)? From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 04 18:36:49 2022 Received: (at 59722) by debbugs.gnu.org; 4 Dec 2022 23:36:50 +0000 Received: from localhost ([127.0.0.1]:60464 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p1yXR-0004TW-HZ for submit@debbugs.gnu.org; Sun, 04 Dec 2022 18:36:49 -0500 Received: from mr85p00im-hyfv06021301.me.com ([17.58.23.188]:58902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p1yXM-0004TO-Dn for 59722@debbugs.gnu.org; Sun, 04 Dec 2022 18:36:47 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1670196998; bh=cE2JCL22wpWuw/rZqfg6hhtloS2vXwq+K5UDAQdUp+o=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=ne5otCCuCxT0BS8G1Lgt4Be4GorLEh6SGUgX/I/w4VzP7uZeM9MivcWu96EIcVqqI bQWMFDHOlv+gQJhmbEp/jdRxczW9totbUB9xZ4f6Tiy/7QwSQe9l4NAQsfuST0YukK YNBdvtCh8uoFf0sqtJmpwYVrfmVG0warP+Z6XdZnFDMgdF6dh10qO3NS6gG3giH5jx 0O3IA5GrFsSYdQdRfgQGmK+8Ewrg5FLPbpQ6xc6nLV5ctePS1vE8XKF83/ryYUt+N1 QVFMvR4CbkqyQ3duBuhnMhZVLES8ZchonC0VuAYWODQks9yp+SY+LrxPpuSR34WVid FzV0HW88gGvRA== Received: from Rudolfs-MacBook-Air.local (mr38p00im-dlb-asmtp-mailmevip.me.com [17.57.152.18]) by mr85p00im-hyfv06021301.me.com (Postfix) with ESMTPSA id 0B1292151400; Sun, 4 Dec 2022 23:36:37 +0000 (UTC) From: Rudolf =?utf-8?Q?Adamkovi=C4=8D?= To: Dmitry Gutov , 59722@debbugs.gnu.org Subject: Re: bug#59722: 30.0.50; project-find-regexp searches project-ignored files In-Reply-To: <1f6b991a-d67e-5e38-b77f-038e97218e4e@yandex.ru> References: <9de53f42-8f76-3770-b059-d78a5252d31a@yandex.ru> <1f6b991a-d67e-5e38-b77f-038e97218e4e@yandex.ru> Date: Mon, 05 Dec 2022 00:36:34 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: BQKtmwFRgRb2aQ4KJ7HSwKcQGKhOfB4I X-Proofpoint-ORIG-GUID: BQKtmwFRgRb2aQ4KJ7HSwKcQGKhOfB4I X-Proofpoint-Virus-Version: =?UTF-8?Q?vendor=3Dfsecure_engine=3D1.1.170-22c6f66c430a71ce266a39bfe25bc?= =?UTF-8?Q?2903e8d5c8f:6.0.425,18.0.816,17.0.605.474.0000000_definitions?= =?UTF-8?Q?=3D2022-01-18=5F01:2022-01-14=5F01,2022-01-18=5F01,2020-01-23?= =?UTF-8?Q?=5F02_signatures=3D0?= X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 phishscore=0 malwarescore=0 spamscore=0 clxscore=1015 adultscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2212040215 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 59722 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Dmitry Gutov writes: > Okay. Thank you for your time, Dmitry! > I wonder how that could be possible: project-find-regexp (that if what > you have 'C-x p g' bound to, right?) does the search across the files > returned by 'project-files'. So there is just one place that > interprets the ignores' list and produces the list of files, and both > project-find-file and project-find-regexp consume the result. I provide a hypothesis about how that could happen below. > Can you step through 'project-find-regexp' with edebug? Does the > return value of 'project-files' (saved to 'files') contain the extra > entries? So, I debugged the problem. FINDING 1: The first finding may explain why I see the ignored files in C-x p g. For my dir-local ignore pattern ((nil . ((project-ignores . ("apps/**/*.scm"))))) Emacs ends up calling git ls-files -z -c --exclude-standard \ --no-empty-directory -o -- :(exclude,glob,top)apps/**/*.scm which gives a listing that DOES NOT contain (as expected) any '*.scm' files in the 'apps' directory, such as apps/lib-app-core/src/main/assets/app/atrium.scm apps/lib-app-core/src/main/assets/app/database.scm ... but it still DOES contain "logically empty" parent directories (as not expected, perhaps) that would have contained the ignored files if not ignored, such as apps/lib-app-core/src/main/assets/app My interpretation: git ls-files does not output just files, as one would expect, but also directories with no matching files. grep then gets a list of files and possibly also directories, and searches through it all. FINDING 2: Given the configuration (setq project-switch-use-entire-map t project-switch-commands '((nil "C-x p"))) when I type C-x p p <...project...> g then Emacs uses the global project ignores and not the ones defined in the directory-local file. However, C-x p g inside of any project buffer works OK. Notes: While probably not the root cause, this bug made debugging much harder, until I realized it exists, so I report this finding as well. Rudy --=20 "One can begin to reason only when a clear picture has been formed in the imagination." -- Walter Warwick Sawyer, Mathematician's Delight, 1943 Rudolf Adamkovi=C4=8D [he/him] Studenohorsk=C3=A1 25 84103 Bratislava Slovakia From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 04 19:44:06 2022 Received: (at 59722) by debbugs.gnu.org; 5 Dec 2022 00:44:06 +0000 Received: from localhost ([127.0.0.1]:60726 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p1zaY-0005Ds-7d for submit@debbugs.gnu.org; Sun, 04 Dec 2022 19:44:06 -0500 Received: from mail-wr1-f42.google.com ([209.85.221.42]:45013) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p1zaU-0005DN-GF for 59722@debbugs.gnu.org; Sun, 04 Dec 2022 19:44:05 -0500 Received: by mail-wr1-f42.google.com with SMTP id u12so15425294wrr.11 for <59722@debbugs.gnu.org>; Sun, 04 Dec 2022 16:44:02 -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:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=2Nz1XaDVNdsD4EJkhiOuRaSBx/xZ21CzU2S4/IV1678=; b=SstUsvY8Ods9sF+DTP2nYeRsOgbzmM1fcP+gL3tE3a0rW6EaLiYgYl+ZRCJXNIuJs3 H9y/7cwzsZQFj4EogaqlUIB2e3yvEO6o3JJV3azkj4aXuhE5kz20CZoMIB6lkGf96nFA T0lgye7mKdC7bNhxjfwrMptXe6lgsNDPLHrnX0tZB5ZSd+kkiSVP/iVQ4YVEZk7AYxmB 6TcBvSk4M72iE8muBqBsqGNbYRg6QbjoIBWaGIXmM/pUC1aEHuVVlpnF08oyRFL42NbE VpgH834gNZdlron+8sVTdhPCRNs2qVtiv2VPntZXwXS3Y5sIvPj9lnJ9fFUH1WdcGcjg 4P4Q== 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: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=2Nz1XaDVNdsD4EJkhiOuRaSBx/xZ21CzU2S4/IV1678=; b=Fw62/8CjM77if1MFzghoH1vt3rAO0MMPSErQuksHzv1LW5HBa3hjeDMYRvIgv62C9N g8Aoul0S0/2VuTkRERuAUD02jm7t0JpPNl0RWLUMnNIpwhmM0hbeZ6Woj8QDoQgCEHdB Jx2lI1BTrvJq4rgTPwJky16cvltzF+TXTv9Ze7VDn8Al6bKazmWRVHEumlTnGEWeHFaF aWxdhE47oSArGyKufc56KDu/ZcW2+rwwAAMIF8kZCChyPTFcPwAtZg8rLKX0AtB+G8d0 GiVhNEGjybDLLZPP5039abYMpa3G9pB36zDNNFIKavcvjWv4wiLNSlK1ETgTarU7GOur k0OA== X-Gm-Message-State: ANoB5plhaey+xevJ17g08+goeHwtfceYtFEDSqVQlX2GE4pSQBvTYZ3S cj2u9OY2LsCawN3sejkn5qs= X-Google-Smtp-Source: AA0mqf5XC+uYCuSzdzMB25G4Bcbz4jGV+gBcBSQA25HfcAeFPYDUGDOE9jIm4YFAsfz8D91hLzL63A== X-Received: by 2002:adf:f2c2:0:b0:242:244b:3bcb with SMTP id d2-20020adff2c2000000b00242244b3bcbmr16394797wrp.655.1670201036453; Sun, 04 Dec 2022 16:43:56 -0800 (PST) Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id p21-20020a1c5455000000b003b4cba4ef71sm18860857wmi.41.2022.12.04.16.43.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 04 Dec 2022 16:43:55 -0800 (PST) Message-ID: <0810182a-7808-5c7b-91f9-bc76374c3263@yandex.ru> Date: Mon, 5 Dec 2022 02:43:53 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: bug#59722: 30.0.50; project-find-regexp searches project-ignored files Content-Language: en-US To: =?UTF-8?Q?Rudolf_Adamkovi=c4=8d?= , 59722@debbugs.gnu.org References: <9de53f42-8f76-3770-b059-d78a5252d31a@yandex.ru> <1f6b991a-d67e-5e38-b77f-038e97218e4e@yandex.ru> From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 59722 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 05/12/2022 01:36, Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: >> Can you step through 'project-find-regexp' with edebug? Does the >> return value of 'project-files' (saved to 'files') contain the extra >> entries? > > So, I debugged the problem. Thanks! > FINDING 1: > > The first finding may explain why I see the ignored files in C-x p g. > > For my dir-local ignore pattern > > ((nil . ((project-ignores . ("apps/**/*.scm"))))) project-vc-ignores, you mean. > Emacs ends up calling > > git ls-files -z -c --exclude-standard \ > --no-empty-directory -o -- :(exclude,glob,top)apps/**/*.scm > > which gives a listing that DOES NOT contain (as expected) any '*.scm' > files in the 'apps' directory, such as > > apps/lib-app-core/src/main/assets/app/atrium.scm > apps/lib-app-core/src/main/assets/app/database.scm > ... > > but it still DOES contain "logically empty" parent directories (as not > expected, perhaps) that would have contained the ignored files if not > ignored, such as > > apps/lib-app-core/src/main/assets/app Huh, interesting. Could you try to show a similar command invocation which would make Git output include a "logically empty" directory for the Emacs repo? So that we have a common public project to compare. Or alternatively a project-vc-ignores value which, when put in .dir-locals.el at the top, produces such effect on the return value of (project-files (project-current)). As a counter-example, if I add (project-vc-ignores . ("./doc/emacs/*")) there, 'project-files' does not include 'doc/emacs/' at all. Not files in it, not it separately as a directory. > My interpretation: > > git ls-files does not output just files, as one would expect, but also > directories with no matching files. grep then gets a list of files and > possibly also directories, and searches through it all. That would make sense, if it's indeed what happens. Perhaps it's a bug in our code, or this behavior is specific to certain versions of Git. I currently have Git 2.37.2 installed. > FINDING 2: > > Given the configuration > > (setq project-switch-use-entire-map t > project-switch-commands '((nil "C-x p"))) > > when I type > > C-x p p <...project...> g > > then Emacs uses the global project ignores and not the ones defined in > the directory-local file. However, > > C-x p g > > inside of any project buffer works OK. And that one is probably a regression from 2389158a31b4a. It won't revert cleanly now, unfortunately. Here's a quick patch which should fix project-switch-project (but not any other potential uses of project-vc values outside of the associated directory): diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 3f4a5fb04b..c7fb39b0fb 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -1770,7 +1770,11 @@ project-switch-project project-switch-commands (project--switch-project-command)))) (let ((project-current-directory-override dir)) - (call-interactively command)))) + (with-temp-buffer + (let ((default-directory dir) + (enable-local-variables :all)) + (hack-dir-local-variables-non-file-buffer)) + (call-interactively command))))) (provide 'project) ;;; project.el ends here It's mostly to help with your debugging, since it breaks the default prompt for 'project-find-regexp' called from 'C-x p p' as well. I'll have to think of the best way to resolve this: revert said commit outright (with updates for the new code), or do it with certain tweaks. > Notes: > > While probably not the root cause, this bug made debugging much harder, > until I realized it exists, so I report this finding as well. Thank you. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 09 11:21:50 2022 Received: (at 59722) by debbugs.gnu.org; 9 Dec 2022 16:21:50 +0000 Received: from localhost ([127.0.0.1]:37084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p3g8E-0006Sj-3k for submit@debbugs.gnu.org; Fri, 09 Dec 2022 11:21:50 -0500 Received: from mail-wm1-f42.google.com ([209.85.128.42]:43728) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p3g8C-0006Sb-0v for 59722@debbugs.gnu.org; Fri, 09 Dec 2022 11:21:48 -0500 Received: by mail-wm1-f42.google.com with SMTP id k22-20020a05600c1c9600b003d1ee3a6289so208525wms.2 for <59722@debbugs.gnu.org>; Fri, 09 Dec 2022 08:21:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=9QfYhxNDo88Pxv4DnCS55KdIXFyWBOnPTm1Na8yUqMQ=; b=GstYAMX0Ck/PMzac9kVEERdFMR1esUAhfjJjkW5VMlmSCiqBIFay3EOKQvep/To0PR M2UKHuk25i606UaXmyP8aycPnHkAu1VOLNXRV2vdM4soUEYq6DmyS8lte1Zzr06veGVd HadrwfT6QOdiH1DdgIoU2+BGAnk1ypX0fsSCh/3E+aezlnH+CKpPPiuKf/27Z7sc1kic VnIwr1AdGpqV73ptwfdKjZEG2CZJtOQ+c7HkJy4fPjHr5jjmNn/XTvIAp1EwxStU46BX G0M1ttjyQYSx9KAgcPZ+E2Zt/SCS7RiJ+G6tp7votT2Gm0ODQfUuZdWpc8RVQ39UJWUR fFHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:references:to:from :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=9QfYhxNDo88Pxv4DnCS55KdIXFyWBOnPTm1Na8yUqMQ=; b=Hyy/Dmk+e93mOQjukT8uocbooJ7ZI6TxLcTLDCQzfDgh9QXAFqOrcFv69/J7aodNnG pr1Nos8pPgGLicVepiWAkMgrC6MsqNoZl57SCKLiM42Hs/VcSmPaJ9hSxWLqfJqlUG+4 3/08kAdLgkRjuqirjsushTUvRZe/p7COQtodZs2HYRgj/CC047knfxATdpbGmUpSZXpw +hdyknuaC2THtJBXX+LZyhsF9rYfs840vzeyvAoM3RO2P0zjYdyjmKHkk2Vojihyz07f kvH2WIGAM9z60Oz/2bxpwtcWc64VrO+pgwqaiwFE2EyL+jw47aXQa2ZBfFj5UGwg4XCN pA5g== X-Gm-Message-State: ANoB5pnYar6lWp7J38FadUJ0+zmb9ScUZVJc27OWTZc3YXBMV/NU0m81 R+QxMYNPSPhjaS+MVC2dAno= X-Google-Smtp-Source: AA0mqf4UI9bBKerOPwRU40fmc0FEdLUzy9y0dJ1tfpdUJ58nATkR2i5e6WIoAsplMLdRxwHTjtvraw== X-Received: by 2002:a05:600c:34ca:b0:3cf:88c1:3a89 with SMTP id d10-20020a05600c34ca00b003cf88c13a89mr5527052wmq.26.1670602902231; Fri, 09 Dec 2022 08:21:42 -0800 (PST) Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id r11-20020a05600c424b00b003d1e34bcbb2sm198965wmm.13.2022.12.09.08.21.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 09 Dec 2022 08:21:41 -0800 (PST) Message-ID: <2e6acfb6-a6d9-9eca-4fd7-3f23487a2359@yandex.ru> Date: Fri, 9 Dec 2022 18:21:40 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: bug#59722: 30.0.50; project-find-regexp searches project-ignored files Content-Language: en-US From: Dmitry Gutov To: =?UTF-8?Q?Rudolf_Adamkovi=c4=8d?= , 59722@debbugs.gnu.org References: <9de53f42-8f76-3770-b059-d78a5252d31a@yandex.ru> <1f6b991a-d67e-5e38-b77f-038e97218e4e@yandex.ru> <0810182a-7808-5c7b-91f9-bc76374c3263@yandex.ru> In-Reply-To: <0810182a-7808-5c7b-91f9-bc76374c3263@yandex.ru> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 59722 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Hi Rudolf, On 05/12/2022 02:43, Dmitry Gutov wrote: > I'll have to think of the best way to resolve this: revert said commit > outright (with updates for the new code), or do it with certain tweaks. I have pushed a fix for this to emacs-29 (commit d268ab1c5d). Please check whether the original problem remains. Did you have any luck with further debugging the situation with 'git ls-files'? From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 11 07:39:07 2022 Received: (at 59722) by debbugs.gnu.org; 11 Dec 2022 12:39:07 +0000 Received: from localhost ([127.0.0.1]:46390 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p4Lbm-0003wH-N7 for submit@debbugs.gnu.org; Sun, 11 Dec 2022 07:39:06 -0500 Received: from mr85p00im-ztdg06011101.me.com ([17.58.23.185]:60778) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p4Lbk-0003vt-D7 for 59722@debbugs.gnu.org; Sun, 11 Dec 2022 07:39:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1670762337; bh=0TJnYEDkvDGd1pxeoYEe3OzRaYR+IU3r8OQyTHDQMPs=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=0E9sxoDWLfbjTTt2uQCbWuNLFsHsONXBt2kUaQzNgkWKjT6i88EROu52aB0AsQZ0U CMWdcD+RDQ4rf4S+oUTGkNrabbizgOQL9KjkZORt0f4ZsxZ92BDGB4Xt61b1BSJq5u iWsBv+ag0ud3MakJH7npscBdBZWEiq1hSoxS9H3qyDXpZw5m/Wvpu5WoX3k62Y9ATJ Xv3QH9naY6URnwVk2SxvcSuI0+nCWbLuY4tMgVqYfmU3wntjjf0aad324v9WWrqv3n 3272p0s7IMCFR1irdXPmOkugDVhi6zfd+HiT4NrjweIwGZ3bzYF8WvAuquwbN7fodF k96/Wz+KWFoug== Received: from Rudolfs-MacBook-Air.local (mr38p00im-dlb-asmtp-mailmevip.me.com [17.57.152.18]) by mr85p00im-ztdg06011101.me.com (Postfix) with ESMTPSA id 13EC5DA39D7; Sun, 11 Dec 2022 12:38:56 +0000 (UTC) From: Rudolf =?utf-8?Q?Adamkovi=C4=8D?= To: Dmitry Gutov , 59722@debbugs.gnu.org Subject: Re: bug#59722: 30.0.50; project-find-regexp searches project-ignored files In-Reply-To: <0810182a-7808-5c7b-91f9-bc76374c3263@yandex.ru> References: <9de53f42-8f76-3770-b059-d78a5252d31a@yandex.ru> <1f6b991a-d67e-5e38-b77f-038e97218e4e@yandex.ru> <0810182a-7808-5c7b-91f9-bc76374c3263@yandex.ru> Date: Sun, 11 Dec 2022 13:38:53 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: 440WsAEUWT_c2UtvGgvviaf549fba9CW X-Proofpoint-ORIG-GUID: 440WsAEUWT_c2UtvGgvviaf549fba9CW X-Proofpoint-Virus-Version: =?UTF-8?Q?vendor=3Dfsecure_engine=3D1.1.170-22c6f66c430a71ce266a39bfe25bc?= =?UTF-8?Q?2903e8d5c8f:6.0.138,18.0.816,17.11.62.513.0000000_definitions?= =?UTF-8?Q?=3D2022-01-18=5F01:2020-02-14=5F02,2022-01-18=5F01,2021-12-02?= =?UTF-8?Q?=5F01_signatures=3D0?= X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 adultscore=0 clxscore=1015 phishscore=0 spamscore=0 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2212110116 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 59722 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Dmitry Gutov writes: >> ((nil . ((project-ignores . ("apps/**/*.scm"))))) > > project-vc-ignores, you mean. Correct. Dmitry, I apologize for causing confusion! >> Emacs ends up calling >>=20 >> git ls-files -z -c --exclude-standard \ >> --no-empty-directory -o -- :(exclude,glob,top)apps/**/*.scm >>=20 >> [...] > > Huh, interesting. Could you try to show a similar command invocation=20 > which would make Git output include a "logically empty" directory for=20 > the Emacs repo? So that we have a common public project to compare. I could not reproduce the problem with the Emacs source directory, but I did not give up! And, after a whole lot of head-scratching, I found the root cause of the problem: When `git ls-files' finds a symlink that points to a directory, it does *not* follow it. Instead, it lists it in the output. In my case, the symlink pointed to a directory with all of its files ignored. However, and importantly, upon further testing, I found that ignores do *not* matter. In summary, any symlinks to directories shallow-appear in `git ls-files' outputs. Emacs hands the list to Ripgrep, and Ripgrep follows symlinks, possibly searching through ignored directories, effectively ignoring `project-vc-ignores' from the point of view of the user. Phew! Rudy --=20 "The introduction of suitable abstractions is our only mental aid to organize and master complexity." -- Edsger Wybe Dijkstra, 1930-2002 Rudolf Adamkovi=C4=8D [he/him] Studenohorsk=C3=A1 25 84103 Bratislava Slovakia From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 11 15:13:14 2022 Received: (at 59722) by debbugs.gnu.org; 11 Dec 2022 20:13:14 +0000 Received: from localhost ([127.0.0.1]:48002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p4ShG-0002ZU-6G for submit@debbugs.gnu.org; Sun, 11 Dec 2022 15:13:14 -0500 Received: from mail-wm1-f48.google.com ([209.85.128.48]:33456) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p4ShE-0002ZM-BR for 59722@debbugs.gnu.org; Sun, 11 Dec 2022 15:13:12 -0500 Received: by mail-wm1-f48.google.com with SMTP id ja4-20020a05600c556400b003cf6e77f89cso8494545wmb.0 for <59722@debbugs.gnu.org>; Sun, 11 Dec 2022 12:13:12 -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:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=nELTCNiKJCWNRLTUqjDH2bs+4KaOLpBXF16DUM8x8XI=; b=VbRaRcSRhdBLoXoS8JXtjQmIbeJLrAlvk/QFTFY71I7JvSMcXtk4K2DkmzFH8+gm0l QKvJNucDt9ZDZStvPwE1zhlKD/iVS4glDLKLibiVLVGeHIFAmgql47XEpPjEeRMtNukq Yh6A7xkbuxN42SyrGRnm7OHiIfF+W3jk60+Ad7DgIwfFeTOY2glcLKSZO9FhsWsb18fx wVTzpmVbWlJq/i01PKtjGScWrpsCmrQxoEQwYSI9nWvJHdsBsVT0QR/tmVghDD0xmAHN CISkPs1ZMNOPhfrrH3Mh2hbsytvgMswEj6NASH9Ujm3wFLHbEnY8fgJmVnL8253Ba7uu rXJg== 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: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=nELTCNiKJCWNRLTUqjDH2bs+4KaOLpBXF16DUM8x8XI=; b=rxHjUtbutZr7CKlXEHuOxyfSgDld5rOZqicrfkzv3roRs/+sZwBX3V3EEZsODQffx1 TL8Ke037rXW2QVFwsOODu4iX8jKy+zCjzQCx7encqnSQtVBLKCQt5vFR5RXUVij5Srvb Ba07rzTtHvUDpjwJ5uT0pJsv1qYjbXqJeCEB40fL82J+UUYds1fZI7eFHJeUn7r/BXiZ KYLY5eDCMYsl7eXoHr4s4MpRqsnBVQxOPw7nqYqcrLvrjvg+ir+8Grx3OJVVjJWM6xWC gDTUnsV/iupwrh5/B4avRybI7Tyvw8olvWQc0HMSj4Yi+xHy30nMapYtmoFa0yLM5tDn QLmQ== X-Gm-Message-State: ANoB5pmUjC8VYDZNiAbc6hwHDT2zBOQVs4OROKHvsRQYBGoBYXsvYeRE u+8IuGbvFetQecjzRYLegTI= X-Google-Smtp-Source: AA0mqf7Z8Zyywo1BOvZ/7jaqG4WWJCticMbS7/mZESMHPrNDrH6Gf9RbnuMFIostp+TLASYT+JhNpQ== X-Received: by 2002:a05:600c:35cb:b0:3cf:360e:f37d with SMTP id r11-20020a05600c35cb00b003cf360ef37dmr11179944wmq.22.1670789586158; Sun, 11 Dec 2022 12:13:06 -0800 (PST) Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id l6-20020a1c7906000000b003cf4eac8e80sm8032312wme.23.2022.12.11.12.13.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 11 Dec 2022 12:13:05 -0800 (PST) Message-ID: <5a3a5634-ef16-1ffd-d436-287725cf4f2c@yandex.ru> Date: Sun, 11 Dec 2022 22:13:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: bug#59722: 30.0.50; project-find-regexp searches project-ignored files Content-Language: en-US To: =?UTF-8?Q?Rudolf_Adamkovi=c4=8d?= , 59722@debbugs.gnu.org References: <9de53f42-8f76-3770-b059-d78a5252d31a@yandex.ru> <1f6b991a-d67e-5e38-b77f-038e97218e4e@yandex.ru> <0810182a-7808-5c7b-91f9-bc76374c3263@yandex.ru> From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 59722 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 11/12/2022 14:38, Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > Dmitry Gutov writes: > >>> ((nil . ((project-ignores . ("apps/**/*.scm"))))) >> >> project-vc-ignores, you mean. > > Correct. Dmitry, I apologize for causing confusion! No problem. I just wanted to make double-sure that the typo is not the cause of the issue. >>> Emacs ends up calling >>> >>> git ls-files -z -c --exclude-standard \ >>> --no-empty-directory -o -- :(exclude,glob,top)apps/**/*.scm >>> >>> [...] >> >> Huh, interesting. Could you try to show a similar command invocation >> which would make Git output include a "logically empty" directory for >> the Emacs repo? So that we have a common public project to compare. > > I could not reproduce the problem with the Emacs source directory, but I > did not give up! And, after a whole lot of head-scratching, I found the > root cause of the problem: > > When `git ls-files' finds a symlink that points to a directory, it does > *not* follow it. Instead, it lists it in the output. In my case, the > symlink pointed to a directory with all of its files ignored. However, > and importantly, upon further testing, I found that ignores do *not* > matter. Okay, yes, that seems to be the case. And there seems to be no way to have 'git ls-files' include symlinks in the output. I can suggest two options here, both non-ideal: - Ignore the whole symlinked directories by adding ignore entries that match their symlink files, rather than directories. For example, by setting project-vc-ignores to '("apps/*") or '("apps/**"), or with individual entries for each of them. That is, if you want them ignored whole. - Here's what seems to be a (Linux-only) way to have Git follow symlinks: https://github.com/Alcaro/GitBSLR (found at https://stackoverflow.com/a/49138555/615245). Another automatic approach would be to add a new value in xref-search-program-alist that would first pipe through a non-symlink-ness checker. Or modify the existing values. But I'm yet to write a suitable command or pipeline (help welcome!), so I'm not sure how practical that is, and what's the average overhead. The obvious choice of (seq-filter #'file-regular-p (project-files (project-current))) creates a large overhead (takes about x3 time here as just listing the files). That too much, I think.