unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#59722: 30.0.50; project-find-regexp searches project-ignored files
@ 2022-11-30 14:35 Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-11-30 15:09 ` Dmitry Gutov
  0 siblings, 1 reply; 9+ messages in thread
From: Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-30 14:35 UTC (permalink / raw)
  To: 59722


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.app/Contents/Resources/lisp/org/ob-exp
~/src/org-mode/lisp/ob-emacs-lisp hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp
~/src/org-mode/lisp/oc hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/oc
~/src/org-mode/lisp/ob-css hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-css
~/src/org-mode/lisp/ob-lob hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-lob
~/src/org-mode/lisp/ol-irc hides /Users/salutis/src/emacs/nextstep/Emacs.app/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/Contents/Resources/lisp/org/ob
~/src/org-mode/lisp/org-version hides /Users/salutis/src/emacs/nextstep/Emacs.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/Contents/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/Emacs.app/Contents/Resources/lisp/org/org-capture
~/src/org-mode/lisp/ob-ref hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ref
~/src/org-mode/lisp/ob-clojure hides /Users/salutis/src/emacs/nextstep/Emacs.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/Emacs.app/Contents/Resources/lisp/org/org-entities
~/src/org-mode/lisp/org-archive hides /Users/salutis/src/emacs/nextstep/Emacs.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/Emacs.app/Contents/Resources/lisp/org/ob-haskell
~/src/org-mode/lisp/org-loaddefs hides /Users/salutis/src/emacs/nextstep/Emacs.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.app/Contents/Resources/lisp/org/ol-eww
~/src/org-mode/lisp/ol-man hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-man
~/src/org-mode/lisp/ox-org hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-org
~/src/org-mode/lisp/org-num hides /Users/salutis/src/emacs/nextstep/Emacs.app/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.app/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/Emacs.app/Contents/Resources/lisp/org/oc-biblatex
~/src/org-mode/lisp/org-colview hides /Users/salutis/src/emacs/nextstep/Emacs.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/Emacs.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/Emacs.app/Contents/Resources/lisp/org/org-mobile
~/src/org-mode/lisp/ob-fortran hides /Users/salutis/src/emacs/nextstep/Emacs.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.app/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.app/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.app/Contents/Resources/lisp/org/ob-ruby
~/src/org-mode/lisp/ob-eval hides /Users/salutis/src/emacs/nextstep/Emacs.app/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.app/Contents/Resources/lisp/org/ox-html
~/src/org-mode/lisp/org-src hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-src
~/src/org-mode/lisp/ob-lisp hides /Users/salutis/src/emacs/nextstep/Emacs.app/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/Emacs.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.app/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.app/Contents/Resources/lisp/org/ob-calc
~/src/org-mode/lisp/ob-java hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-java
~/src/org-mode/lisp/ox-icalendar hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-icalendar
~/src/org-mode/lisp/ol-mhe hides /Users/salutis/src/emacs/nextstep/Emacs.app/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/Emacs.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/Emacs.app/Contents/Resources/lisp/org/org-protocol
~/src/org-mode/lisp/ob-gnuplot hides /Users/salutis/src/emacs/nextstep/Emacs.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.app/Contents/Resources/lisp/org/ol-w3m
~/src/org-mode/lisp/org-id hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-id
~/src/org-mode/lisp/ox-man hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-man
~/src/org-mode/lisp/ol-doi hides /Users/salutis/src/emacs/nextstep/Emacs.app/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.app/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.app/Contents/Resources/lisp/org/oc-csl
~/src/org-mode/lisp/ol-gnus hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-gnus
~/src/org-mode/lisp/org-indent hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-indent
~/src/org-mode/lisp/ob-lilypond hides /Users/salutis/src/emacs/nextstep/Emacs.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/Emacs.app/Contents/Resources/lisp/org/org-datetree
~/src/org-mode/lisp/ol-docview hides /Users/salutis/src/emacs/nextstep/Emacs.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/Emacs.app/Contents/Resources/lisp/org/ob-makefile
~/src/org-mode/lisp/org-duration hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-duration
~/src/org-mode/lisp/org-agenda hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-agenda
~/src/org-mode/lisp/ob-dot hides /Users/salutis/src/emacs/nextstep/Emacs.app/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/Emacs.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.app/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.app/Contents/Resources/lisp/org/ob-core
~/src/org-mode/lisp/org-compat hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-compat
~/src/org-mode/lisp/ol hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol
~/src/org-mode/lisp/ox-odt hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-odt
~/src/org-mode/lisp/ol-info hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-info
~/src/org-mode/lisp/ob-plantuml hides /Users/salutis/src/emacs/nextstep/Emacs.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/Contents/Resources/lisp/org/org
~/src/org-mode/lisp/ol-bbdb hides /Users/salutis/src/emacs/nextstep/Emacs.app/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.app/Contents/Resources/lisp/org/ob-sql
~/src/org-mode/lisp/org-attach hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-attach
~/src/org-mode/lisp/ob-processing hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-processing
~/src/org-mode/lisp/ox-texinfo hides /Users/salutis/src/emacs/nextstep/Emacs.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/Emacs.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))

-- 
"'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č <salutis@me.com> [he/him]
Studenohorská 25
84103 Bratislava
Slovakia





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#59722: 30.0.50; project-find-regexp searches project-ignored files
  2022-11-30 14:35 bug#59722: 30.0.50; project-find-regexp searches project-ignored files Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-11-30 15:09 ` Dmitry Gutov
  2022-11-30 23:20   ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 9+ messages in thread
From: Dmitry Gutov @ 2022-11-30 15:09 UTC (permalink / raw)
  To: Rudolf Adamkovič, 59722

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).





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#59722: 30.0.50; project-find-regexp searches project-ignored files
  2022-11-30 15:09 ` Dmitry Gutov
@ 2022-11-30 23:20   ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-11-30 23:30     ` Dmitry Gutov
  0 siblings, 1 reply; 9+ messages in thread
From: Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-30 23:20 UTC (permalink / raw)
  To: Dmitry Gutov, 59722

Dmitry Gutov <dgutov@yandex.ru> 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
-- 
"The introduction of suitable abstractions is our only mental aid to
organize and master complexity."
-- Edsger Wybe Dijkstra, 1930-2002

Rudolf Adamkovič <salutis@me.com> [he/him]
Studenohorská 25
84103 Bratislava
Slovakia





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#59722: 30.0.50; project-find-regexp searches project-ignored files
  2022-11-30 23:20   ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-11-30 23:30     ` Dmitry Gutov
  2022-12-04 23:36       ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 9+ messages in thread
From: Dmitry Gutov @ 2022-11-30 23:30 UTC (permalink / raw)
  To: Rudolf Adamkovič, 59722

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)?





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#59722: 30.0.50; project-find-regexp searches project-ignored files
  2022-11-30 23:30     ` Dmitry Gutov
@ 2022-12-04 23:36       ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-12-05  0:43         ` Dmitry Gutov
  0 siblings, 1 reply; 9+ messages in thread
From: Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-04 23:36 UTC (permalink / raw)
  To: Dmitry Gutov, 59722

Dmitry Gutov <dgutov@yandex.ru> 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
-- 
"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č <salutis@me.com> [he/him]
Studenohorská 25
84103 Bratislava
Slovakia





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#59722: 30.0.50; project-find-regexp searches project-ignored files
  2022-12-04 23:36       ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-12-05  0:43         ` Dmitry Gutov
  2022-12-09 16:21           ` Dmitry Gutov
  2022-12-11 12:38           ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 9+ messages in thread
From: Dmitry Gutov @ 2022-12-05  0:43 UTC (permalink / raw)
  To: Rudolf Adamkovič, 59722

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.





^ permalink raw reply related	[flat|nested] 9+ messages in thread

* bug#59722: 30.0.50; project-find-regexp searches project-ignored files
  2022-12-05  0:43         ` Dmitry Gutov
@ 2022-12-09 16:21           ` Dmitry Gutov
  2022-12-11 12:38           ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 9+ messages in thread
From: Dmitry Gutov @ 2022-12-09 16:21 UTC (permalink / raw)
  To: Rudolf Adamkovič, 59722

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'?





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#59722: 30.0.50; project-find-regexp searches project-ignored files
  2022-12-05  0:43         ` Dmitry Gutov
  2022-12-09 16:21           ` Dmitry Gutov
@ 2022-12-11 12:38           ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-12-11 20:13             ` Dmitry Gutov
  1 sibling, 1 reply; 9+ messages in thread
From: Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-11 12:38 UTC (permalink / raw)
  To: Dmitry Gutov, 59722

Dmitry Gutov <dgutov@yandex.ru> writes:

>>    ((nil . ((project-ignores . ("apps/**/*.scm")))))
>
> project-vc-ignores, you mean.

Correct.  Dmitry, I apologize for causing confusion!

>> 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.

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
-- 
"The introduction of suitable abstractions is our only mental aid to
organize and master complexity."
-- Edsger Wybe Dijkstra, 1930-2002

Rudolf Adamkovič <salutis@me.com> [he/him]
Studenohorská 25
84103 Bratislava
Slovakia





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#59722: 30.0.50; project-find-regexp searches project-ignored files
  2022-12-11 12:38           ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-12-11 20:13             ` Dmitry Gutov
  0 siblings, 0 replies; 9+ messages in thread
From: Dmitry Gutov @ 2022-12-11 20:13 UTC (permalink / raw)
  To: Rudolf Adamkovič, 59722

On 11/12/2022 14:38, Rudolf Adamkovič via Bug reports for GNU Emacs, the 
Swiss army knife of text editors wrote:
> Dmitry Gutov <dgutov@yandex.ru> 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.





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-12-11 20:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-30 14:35 bug#59722: 30.0.50; project-find-regexp searches project-ignored files Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-30 15:09 ` Dmitry Gutov
2022-11-30 23:20   ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-30 23:30     ` Dmitry Gutov
2022-12-04 23:36       ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05  0:43         ` Dmitry Gutov
2022-12-09 16:21           ` Dmitry Gutov
2022-12-11 12:38           ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-11 20:13             ` Dmitry Gutov

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).