GNU bug report logs - #48628
tags-search fails to find all occurences and finds one that it shouldn't

Previous Next

Package: emacs;

Reported by: "Bob Floyd" <bobfloyd <at> comcast.net>

Date: Mon, 24 May 2021 16:04:01 UTC

Severity: normal

To reply to this bug, email your comments to 48628 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#48628; Package emacs. (Mon, 24 May 2021 16:04:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Bob Floyd" <bobfloyd <at> comcast.net>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 24 May 2021 16:04:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Bob Floyd" <bobfloyd <at> comcast.net>
To: <bug-gnu-emacs <at> gnu.org>
Subject: tags-search fails to find all occurences and finds one that it
 shouldn't
Date: Mon, 24 May 2021 09:02:54 -0700
[Message part 1 (text/plain, inline)]
Hi,

 

Attached are 3 files, 'f1.cpp', 'f2.cpp', and 'TAGS'.

 

I'm using the development 28.0.50 version on Windows.

 

Start emacs and:

 

1. C-x 2 (split-window-below)

2. C-x C-f (find-file) "f1.cpp" in the upper window

3. C-x C-f (find-file) "f2.cpp" in the lower window

4. left-mouse click in the upper window top left (location of the search
start)

5. <f3> (tags-search) the string "_cu" using the attached TAGS file

   Tags search (regexp): _cu

6. M-, (fileloop-continue) until reaching "All files processed"

   The matches are on lines:

   f1.cpp: 7, 25, 65, 104, 121

   f2.cpp: 7, 25, 65, 104, 121

   (both f1 and f2 have identical contents).

7. In the upper window, switch to buffer f1.cpp and go to line 53:

8. mark line 53 and move down to line 72, then delete the selection:

   You're deleting this:

   case ECall::DPI::_pow_:

      {

                IT::IAcc                 _one ( R()->c1.CastTo( _ty ) );

                IT::IAcc                 _zero( R()->c0.CastTo( _ty ) );

                IT::IAcc                 _condBase

                ( _theFunction.Arg(0) .EqEq( IT::FlagsOfIKind(), _zero ) );

                IT::IAcc                 _condExp

                ( _theFunction.Arg(1) .LT( IT::FlagsOfIKind(), _zero ) );

 

                // Specialize to capture `0 ** 0` and return 1.

 

                IT::IfHlpr              _testSpcl

                ( _cu, _condBase .AndAnd (IT::FlagsOfIKind(), _condExp),
IT::List() );

 

                _testSpcl.True() << _one.Return();

 

                _body << _testSpcl;

 

                break;

      }

9. M-< (beginning-of-buffer) in the upper window ("f1.cpp")

10. <f3> (tags-search) the string "_cu" 

   Tags search (regexp): _cu

11. M-, (fileloop-continue) until reaching "All files processed"

   The matches are on lines:

   7, 25, 85, 102, 115, 121

   NOTE 115 is wrong, it is this line that does not contain "_cu"

#     ifdef C_FILE_GENERATOR

   NOTE only 1 of the "_cu"s was deleted so instead of 10 occurrences there

   should be 9 BUT it only found 6.

 

 

 

In GNU Emacs 28.0.50 (build 1, x86_64-w64-mingw32)

of 2021-01-15 built on CIRROCUMULUS

Repository revision: f45be48ddbde00610e1e08fca6590dcf24a4e1b5

Repository branch: master

Windowing system distributor 'Microsoft Corp.', version 10.0.19042

System Description: Microsoft Windows 10 Enterprise (v10.0.2009.19042.985)

 

Configured using:

'configure --without-dbus --without-compress-install -C 'CFLAGS=-O2

-static -g3' PKG_CONFIG_PATH=/mingw64/lib/pkgconfig'

 

Configured features:

ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY

W32NOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS XPM

ZLIB

 

Important settings:

  value of $LANG: ENU

  locale-coding-system: cp1252

 

Major mode: Fundamental

 

Minor modes in effect:

  shell-dirtrack-mode: t

  show-paren-mode: t

  tooltip-mode: t

  global-eldoc-mode: t

  electric-indent-mode: t

  mouse-wheel-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

  line-number-mode: t

  transient-mark-mode: t

 

Load-path shadows:

None found.

 

Features:

(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs

rfc822 mml mml-sec epa 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 misearch multi-isearch two-column

help-mode thingatpt etags fileloop generator xref project time-date

pcmpl-unix web-mode advice derived edmacro kmacro shell pcomplete comint

ansi-color ring printing ps-print ps-print-loaddefs ps-def lpr paren

cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine

cc-vars cc-defs finder-inf tex-site info package easymenu browse-url url

url-proxy url-privacy url-expand url-methods url-history url-cookie

url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq

eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map

url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib

iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks

lisp-float-type mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win

w32-vars term/common-win 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 button

loaddefs faces cus-face macroexp files window text-properties overlay

sha1 md5 base64 format env code-pages mule custom widget

hashtable-print-readable backquote threads w32notify w32 lcms2 multi-tty

make-network-process emacs)

 

Memory information:

((conses 16 192149 7744)

(symbols 48 14547 1)

(strings 32 50102 1978)

(string-bytes 1 1608447)

(vectors 16 21762)

(vector-slots 8 294115 19624)

(floats 8 263 356)

(intervals 56 3062 0)

(buffers 984 18))

[Message part 2 (text/html, inline)]
[f1.cpp (text/plain, attachment)]
[f2.cpp (text/plain, attachment)]
[TAGS (application/octet-stream, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#48628; Package emacs. (Mon, 24 May 2021 16:34:01 GMT) Full text and rfc822 format available.

Message #8 received at 48628 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: "Bob Floyd" <bobfloyd <at> comcast.net>
Cc: 48628 <at> debbugs.gnu.org
Subject: Re: bug#48628: tags-search fails to find all occurences and finds one
 that it shouldn't
Date: Mon, 24 May 2021 19:33:44 +0300
> From: "Bob Floyd" <bobfloyd <at> comcast.net>
> Date: Mon, 24 May 2021 09:02:54 -0700
> 
> 1. C-x 2 (split-window-below)
> 
> 2. C-x C-f (find-file) "f1.cpp" in the upper window
> 
> 3. C-x C-f (find-file) "f2.cpp" in the lower window
> 
> 4. left-mouse click in the upper window top left (location of the search start)
> 
> 5. <f3> (tags-search) the string "_cu" using the attached TAGS file
> 
>    Tags search (regexp): _cu
> 
> 6. M-, (fileloop-continue) until reaching "All files processed"
> 
>    The matches are on lines:
> 
>    f1.cpp: 7, 25, 65, 104, 121
> 
>    f2.cpp: 7, 25, 65, 104, 121
> 
>    (both f1 and f2 have identical contents).
> 
> 7. In the upper window, switch to buffer f1.cpp and go to line 53:
> 
> 8. mark line 53 and move down to line 72, then delete the selection:

When you change the file, and you want exact results, you need to
re-run etags, right?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#48628; Package emacs. (Mon, 24 May 2021 16:49:02 GMT) Full text and rfc822 format available.

Message #11 received at 48628 <at> debbugs.gnu.org (full text, mbox):

From: "Bob Floyd" <bobfloyd <at> comcast.net>
To: "'Eli Zaretskii'" <eliz <at> gnu.org>
Cc: 48628 <at> debbugs.gnu.org
Subject: RE: bug#48628: tags-search fails to find all occurences and finds one
 that it shouldn't
Date: Mon, 24 May 2021 09:48:27 -0700
No, not when using tags-search, tags-query-replace. They use the tags file
only to identify what files to search in. However, you are correct when
using things like M-. (xref-find-definitions) when the definition has been
moved too far from its original location.

The failure of tags-search (and the same sort of failure happens with
tags-query-replace) is new to the 28 versions as best I can determine.

-----Original Message-----
From: Eli Zaretskii [mailto:eliz <at> gnu.org] 
Sent: Monday, May 24, 2021 9:34 AM
To: Bob Floyd
Cc: 48628 <at> debbugs.gnu.org
Subject: Re: bug#48628: tags-search fails to find all occurences and finds
one that it shouldn't

> From: "Bob Floyd" <bobfloyd <at> comcast.net>
> Date: Mon, 24 May 2021 09:02:54 -0700
> 
> 1. C-x 2 (split-window-below)
> 
> 2. C-x C-f (find-file) "f1.cpp" in the upper window
> 
> 3. C-x C-f (find-file) "f2.cpp" in the lower window
> 
> 4. left-mouse click in the upper window top left (location of the search
start)
> 
> 5. <f3> (tags-search) the string "_cu" using the attached TAGS file
> 
>    Tags search (regexp): _cu
> 
> 6. M-, (fileloop-continue) until reaching "All files processed"
> 
>    The matches are on lines:
> 
>    f1.cpp: 7, 25, 65, 104, 121
> 
>    f2.cpp: 7, 25, 65, 104, 121
> 
>    (both f1 and f2 have identical contents).
> 
> 7. In the upper window, switch to buffer f1.cpp and go to line 53:
> 
> 8. mark line 53 and move down to line 72, then delete the selection:

When you change the file, and you want exact results, you need to
re-run etags, right?





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#48628; Package emacs. (Sun, 06 Jun 2021 11:02:01 GMT) Full text and rfc822 format available.

Message #14 received at 48628 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: "Bob Floyd" <bobfloyd <at> comcast.net>
Cc: 48628 <at> debbugs.gnu.org
Subject: Re: bug#48628: tags-search fails to find all occurences and finds one
 that it shouldn't
Date: Sun, 06 Jun 2021 14:01:34 +0300
> From: "Bob Floyd" <bobfloyd <at> comcast.net>
> Date: Mon, 24 May 2021 09:02:54 -0700
> 
> 11. M-, (fileloop-continue) until reaching "All files processed"
> 
>    The matches are on lines:
> 
>    7, 25, 85, 102, 115, 121
> 
>    NOTE 115 is wrong, it is this line that does not contain "_cu"

With today's master branch, I'm unable to reproduce the problem: I
don't get the false match on line 115.

Are you still able to reproduce with the latest master branch?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#48628; Package emacs. (Sun, 06 Jun 2021 12:33:02 GMT) Full text and rfc822 format available.

Message #17 received at 48628 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: bobfloyd <at> comcast.net
Cc: 48628 <at> debbugs.gnu.org
Subject: Re: bug#48628: tags-search fails to find all occurences and finds one
 that it shouldn't
Date: Sun, 06 Jun 2021 15:31:53 +0300
> Date: Sun, 06 Jun 2021 14:01:34 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: 48628 <at> debbugs.gnu.org
> 
> > From: "Bob Floyd" <bobfloyd <at> comcast.net>
> > Date: Mon, 24 May 2021 09:02:54 -0700
> > 
> > 11. M-, (fileloop-continue) until reaching "All files processed"
> > 
> >    The matches are on lines:
> > 
> >    7, 25, 85, 102, 115, 121
> > 
> >    NOTE 115 is wrong, it is this line that does not contain "_cu"
> 
> With today's master branch, I'm unable to reproduce the problem: I
> don't get the false match on line 115.

However, I did spot a problem in these commands: a new tags-search
will not always start searching in each buffer from the beginning,
sometimes it will restart from the last place point was displayed for
this buffer.  So I fixed that problem on the master branch now.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#48628; Package emacs. (Sun, 06 Jun 2021 18:04:01 GMT) Full text and rfc822 format available.

Message #20 received at 48628 <at> debbugs.gnu.org (full text, mbox):

From: "Bob Floyd" <bobfloyd <at> comcast.net>
To: "'Eli Zaretskii'" <eliz <at> gnu.org>
Cc: 48628 <at> debbugs.gnu.org
Subject: RE: bug#48628: tags-search fails to find all occurences and finds one
 that it shouldn't
Date: Sun, 6 Jun 2021 11:03:26 -0700
I'm using the (as far as I know) the latest already-compiled-for-windows
(/gnu/emacs/pretest/windows/emacs-28) - mostly because I don't wish the
hassle of figuring out the directions for compiling the master branch -
since long ago windows was 2nd class to the unix's doing so wasn't easy.
Perhaps it has improved?

Having said that, my test cases for reproducing this (#48107 and now #48628)
either aren't sufficient to be reproducible, or indeed were fixed. In both
these I'd say the only choice is to work with the master branch, and thus if
I can create a test case there is nothing more recent to say it would be
fixed in.

Sorry for the long-windedness, but do you have a URL for how to download and
compile the master branch for windows?

-----Original Message-----
From: Eli Zaretskii [mailto:eliz <at> gnu.org] 
Sent: Sunday, June 6, 2021 4:02 AM
To: Bob Floyd
Cc: 48628 <at> debbugs.gnu.org
Subject: Re: bug#48628: tags-search fails to find all occurences and finds
one that it shouldn't

> From: "Bob Floyd" <bobfloyd <at> comcast.net>
> Date: Mon, 24 May 2021 09:02:54 -0700
> 
> 11. M-, (fileloop-continue) until reaching "All files processed"
> 
>    The matches are on lines:
> 
>    7, 25, 85, 102, 115, 121
> 
>    NOTE 115 is wrong, it is this line that does not contain "_cu"

With today's master branch, I'm unable to reproduce the problem: I
don't get the false match on line 115.

Are you still able to reproduce with the latest master branch?





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#48628; Package emacs. (Sun, 06 Jun 2021 18:06:02 GMT) Full text and rfc822 format available.

Message #23 received at 48628 <at> debbugs.gnu.org (full text, mbox):

From: "Bob Floyd" <bobfloyd <at> comcast.net>
To: "'Eli Zaretskii'" <eliz <at> gnu.org>
Cc: 48628 <at> debbugs.gnu.org
Subject: RE: bug#48628: tags-search fails to find all occurences and finds one
 that it shouldn't
Date: Sun, 6 Jun 2021 11:05:41 -0700
Super! Do you have a URL explaining how to download and compile the master
branch for Windows?

-----Original Message-----
From: Eli Zaretskii [mailto:eliz <at> gnu.org] 
Sent: Sunday, June 6, 2021 5:32 AM
To: bobfloyd <at> comcast.net
Cc: 48628 <at> debbugs.gnu.org
Subject: Re: bug#48628: tags-search fails to find all occurences and finds
one that it shouldn't

> Date: Sun, 06 Jun 2021 14:01:34 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: 48628 <at> debbugs.gnu.org
> 
> > From: "Bob Floyd" <bobfloyd <at> comcast.net>
> > Date: Mon, 24 May 2021 09:02:54 -0700
> > 
> > 11. M-, (fileloop-continue) until reaching "All files processed"
> > 
> >    The matches are on lines:
> > 
> >    7, 25, 85, 102, 115, 121
> > 
> >    NOTE 115 is wrong, it is this line that does not contain "_cu"
> 
> With today's master branch, I'm unable to reproduce the problem: I
> don't get the false match on line 115.

However, I did spot a problem in these commands: a new tags-search
will not always start searching in each buffer from the beginning,
sometimes it will restart from the last place point was displayed for
this buffer.  So I fixed that problem on the master branch now.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#48628; Package emacs. (Sun, 06 Jun 2021 18:12:02 GMT) Full text and rfc822 format available.

Message #26 received at 48628 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: "Bob Floyd" <bobfloyd <at> comcast.net>
Cc: 48628 <at> debbugs.gnu.org
Subject: Re: bug#48628: tags-search fails to find all occurences and finds one
 that it shouldn't
Date: Sun, 06 Jun 2021 21:10:54 +0300
> From: "Bob Floyd" <bobfloyd <at> comcast.net>
> Cc: <48628 <at> debbugs.gnu.org>
> Date: Sun, 6 Jun 2021 11:05:41 -0700
> 
> Super! Do you have a URL explaining how to download and compile the master
> branch for Windows?

https://git.savannah.gnu.org/cgit/emacs.git/tree/nt/INSTALL.W64




This bug report was last modified 4 years and 12 days ago.

Previous Next


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