Subject: bug#54025: 27.2; dired-do-find-regexp skips occurences

From: Петров Андрей <[email-masked]>
Date: Wed, 16 Feb 2022 11:40:06 +0000

Hello, team!

I found that `dired-do-find-regexp' does not show occurences in files
where the occurences were deleted but not saved.

Test:

1. Create directory 3
   M-x + 3 [RET]
   
2. Create and save two files (1.txt, 2.txt) containing line "aaa" and
the third containing lines "aaa", "bbb", "aaa":
   C-x C-f 1.txt [RET] aaa [RET]
   C-x C-f 2.txt [RET] aaa [RET]
   C-x C-f 3.txt [RET] aaa [RET] bbb [RET] aaa [RET]
   C-u C-x s

3. Now select the all in dired buffer and try searching for word "aaa":
   C-x b 3 [RET]
   t A \baaa\b [RET]

  Now dired buffer looks like:
  
      /home/andrey/3:
      итого 20
      drwxr-xr-x  2 andrey andrey 4096 фев 16 15:58 .
      drwx------ 48 andrey andrey 4096 фев 16 15:57 ..
    * -rw-r--r--  1 andrey andrey    4 фев 16 15:58 1.txt
    * -rw-r--r--  1 andrey andrey    4 фев 16 15:58 2.txt
    * -rw-r--r--  1 andrey andrey    4 фев 16 15:58 3.txt
    
  *xref* buffer contains:

    /home/andrey/3/1.txt
    1: aaa
    /home/andrey/3/2.txt
    1: aaa
    /home/andrey/3/3.txt
    1: aaa
    3: aaa
    
4. Choose the first occurence in 3.txt file and delete the line but DO
NOT SAVE the buffer.

5. Go back to dired buffer and try searching for "aaa" again.

  Now *xref* does not contain 3.txt file although it has an occurence of
  "aaa".
    
    /home/andrey/3/1.txt
    1: aaa
    /home/andrey/3/2.txt
    1: aaa
    
  After saving 3.txt and repeating the search *xref* buffers shows all 3
  entries as expected.

Please take a look into `xref-revert-buffer' (g) inside *xref* buffer
also. It seems that it shows only occurences of the first file.

In GNU Emacs 27.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.27, cairo version 1.17.4)
 of 2021-03-26 built on juergen
Windowing system distributor 'The X.Org Foundation', version 11.0.12101003
System Description: Arch Linux

Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-wide-int
 --with-modules --with-cairo --with-harfbuzz 'CFLAGS=-march=x86-64
 -mtune=generic -O2 -pipe -fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB NOTIFY
INOTIFY ACL GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON
PDUMPER LCMS2 GMP

Important settings:
  value of $LANG: ru_RU.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Dired by name

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr eieio-opt speedbar sb-image ezimage dframe
find-func help-fns radix-tree emacsbug message rmc puny format-spec
rfc822 mml mml-sec password-cache epa derived epg epg-config gnus-util
rmail rmail-loaddefs text-property-search mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date subr-x pulse
cl-extra help-mode easymenu seq xref cl-seq project eieio byte-opt
bytecomp byte-compile cconv eieio-core cl-macs gv eieio-loaddefs grep
compile comint ansi-color ring dired-aux cl-loaddefs cl-lib dired
dired-loaddefs cyril-util tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode elisp-mode lisp-mode prog-mode register page
tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core term/tty-colors frame
minibuffer cl-generic 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 charscript charprop case-table epa-hook jka-cmpr-hook help
simple abbrev obarray cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 68400 9572)
 (symbols 48 8127 1)
 (strings 32 22571 1888)
 (string-bytes 1 741405)
 (vectors 16 14374)
 (vector-slots 8 182357 17890)
 (floats 8 37 22)
 (intervals 56 795 0)
 (buffers 1000 21))

Best regards,
Andrey Petrov.