unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#48107: 27.2; tags-quiery-replace fails to find occurences
@ 2021-04-29 20:14 Bob Floyd
  2021-04-29 22:27 ` Gregory Heytings
  0 siblings, 1 reply; 13+ messages in thread
From: Bob Floyd @ 2021-04-29 20:14 UTC (permalink / raw)
  To: 48107


[-- Attachment #1.1: Type: text/plain, Size: 4137 bytes --]

Put the attached 3 files, `f1.cpp`, `f2.cpp` and `TAGS` into an empty
folder.

 

Do:

1) find-file f1.cpp (C-x C-f)

2) tags-query-replace ITracks JTracks

    There are 4 occurrences that are changed

3) tags-query-replace JTracks ITracks

     There are 2 occurrences that are changed, and it reports "Replaced 0
occurrences" 

 

It should have found the remaining 2 occurrences and the reported number of
0 is wrong.

 

Hope you can reproduce this.

 

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

of 2021-03-26 built on CIRROCUMULUS

Repository revision: deef5efafb70f4b171265b896505b92b6eef24e6

Repository branch: HEAD

Windowing system distributor 'Microsoft Corp.', version 10.0.19042

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

 

Recent messages:

Replaced 2 occurrences

Scanning file d:/Bob/Temp/emacs/f2.cpp...

Mark set

Replaced 2 occurrences

user-error: All files processed

Mark set

Replaced 2 occurrences

Scanning file d:/Bob/Temp/emacs/f2.cpp...

Mark set

Replaced 0 occurrences

 

Configured using:

'configure --without-dbus --host=x86_64-w64-mingw32

--without-compress-install 'CFLAGS=-O2 -static''

 

Configured features:

XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY W32NOTIFY ACL GNUTLS LIBXML2

HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS MODULES THREADS JSON PDUMPER LCMS2 GMP

 

Important settings:

  value of $LANG: ENU

  locale-coding-system: cp1252

 

Major mode: C++//la

 

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

  abbrev-mode: t

 

Load-path shadows:

d:/Bob/.emacs.d/elpa/verilog-mode-2020.6.27.14326051/verilog-mode hides
c:/Program Files/Emacs
27.2/x86_64/share/emacs/27.2/lisp/progmodes/verilog-mode

 

Features:

(shadow sort mail-extr emacsbug message rmc puny format-spec 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 thingatpt etags fileloop generator xref

project dired dired-loaddefs pcmpl-unix time-date 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-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 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 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 w32notify w32

lcms2 multi-tty make-network-process emacs)

 

Memory information:

((conses 16 174942 7392)

(symbols 48 13957 1)

(strings 32 45787 2201)

(string-bytes 1 1506192)

(vectors 16 19753)

(vector-slots 8 248280 10026)

(floats 8 286 53)

(intervals 56 676 10)

(buffers 1000 18))


[-- Attachment #1.2: Type: text/html, Size: 9325 bytes --]

[-- Attachment #2: f1.cpp --]
[-- Type: text/plain, Size: 3863 bytes --]

namespace PT
{
  ConstFP::Fcn
  ConstFP::PrecisionsOfOneFcn::
  CreateFcn( TyAcc const& _ty ) const
  {
    CompilationUnit&	_cu              ( G->CU() );
    TpSgmtCntnr		_pSC             ( new SgmtCntnrSC );
    IObj<DHscope>	_iDolRootScope   ( G->GetHierarchy().DolRootScope() );
    ILexObj<LexScope>	_iLexDolRootScope( _iDolRootScope->GetLexScope() );

    typedef TypeList<EFormal>::Result			TMods;

    std::vector<ITracks>	_myArgs( nArgs() );

    VariableSymbol	_arg( TMods(), _ty );

    for ( int _i( 0 ); _i < nArgs(); ++_i )
    {
      std::stringstream	_nmArg;

      _nmArg << "_arg" << _i;

      ITracks		_iArg
      ( _iDolRootScope.TrackFactory<VariableSymbol>(_nmArg.str(),_arg,(*_pSC),_cu) );

      _myArgs[ _i ] = _iArg;
    }

    std::stringstream	_nmFcn;

    _nmFcn << "!" << ECall::DPI(myDpiId).Id();

    switch ( myDpiId )
    {
    case ECall::DPI::_pow_:
      _nmFcn << "Wrapr";
    default:
      break;
    }

    _nmFcn << R()->GetNextDLLid();

    IT::FcnDclHlpr _theFunction( (*_pSC), _ty, _nmFcn, IT::TFcn::_dllExport_ );

    for ( int _i( 0 ); _i < nArgs(); ++_i )
      _theFunction    << IT::IAcc( Expr( _myArgs[ _i ], NuVloc() ) );

    IT::List	_body;

    switch ( myDpiId )
    {
    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;
      }
    default:
      break;
    }

    IT::List		_itActualList;

    for ( int _i( 0 ); _i < nArgs(); ++_i )
      _itActualList << IT::IAcc( Expr( _myArgs[ _i ], NuVloc() ) ).FcnArg();

    IT::IAcc	_theLibmCall( _itActualList.Head()
    .CallDpi( _ty, DpiProto(), myDpiId, IT::FlagsOfIKind() ) );

    _body << _theLibmCall.Return();

    _theFunction << _body.Head();

    typedef SgmtCntnr::IBrndToSmblsWthLval	IBrndToSmblsWthLval;
    typedef SgmtCntnr::BtoSwLkey		BtoSwLkey;

    TpSignature	_noSig    ( new Signature );
    TBranding*	_branding ( new TBranding );
    TIBranding	_iBranding
    ( _branding->Insert( _iLexDolRootScope,Brands() ).first );
    TpBrand	_pBrand   ( new Brand( _iBranding ) );
    RefPtr<Brands>_oneBrand( new Brands( _noSig, _pBrand ) );
    IBrands	_iBrands (IPair<TBrands::TIterator>((*_oneBrand).begin(),true));
    IBrndToSmblsWthLval _iBtoWsl( (*_pSC)->Get( BtoSwLkey( _iBrands ) ) );
    OneGeste	_theGeste
    ( R()->terminusStmt, _iLexDolRootScope, _iDolRootScope, DLLobject() );

    IT::TpLlVmGenerator	_pLlVm
    ( _cu.LlVmGeneratorFactory( true/*isCommonToAllCUs*/ ) );

    _theGeste.SetClosure( _theFunction );

    _pSC->AllocLvalToGeste( _iBrands, _theGeste );

    _pLlVm->AtFunction( (*_pSC), _iBrands, _iBtoWsl, _theGeste );


    switch ( myDpiId )
    {
#     ifdef C_FILE_GENERATOR
    case ECall::DPI::_pow_:
      _pSC->AddRef();
      _pBrand->AddRef();
      _oneBrand->AddRef();
      _noSig->AddRef();	
      _cu.GetCfileGenerator()->AtFunction( *_pSC, _iBrands, _theGeste );
      break;
#     endif C_FILE_GENERATOR
    default:
      delete _branding;
      break;
    }

    TyFloat const&	_tyFloat( *(TyFloat const*)_ty );
    Fcn			_rslt;

    if ( _tyFloat.GetnBits() <= TyFloat::_IEEEdouble_
    ||   ConstFP::LongDoubleIs128Bits() )
    {
      try {
	_rslt = Fcn( _ty, _pLlVm->JIT(), _nmFcn.str() );
      } catch ( Message& _msg ) {
	_rslt = LowerPrecision( _tyFloat, _msg );
      }
    }

    return _rslt;
  }
}

[-- Attachment #3: f2.cpp --]
[-- Type: text/plain, Size: 3863 bytes --]

namespace PT
{
  ConstFP::Fcn
  ConstFP::PrecisionsOfOneFcn::
  CreateFcn( TyAcc const& _ty ) const
  {
    CompilationUnit&	_cu              ( G->CU() );
    TpSgmtCntnr		_pSC             ( new SgmtCntnrSC );
    IObj<DHscope>	_iDolRootScope   ( G->GetHierarchy().DolRootScope() );
    ILexObj<LexScope>	_iLexDolRootScope( _iDolRootScope->GetLexScope() );

    typedef TypeList<EFormal>::Result			TMods;

    std::vector<ITracks>	_myArgs( nArgs() );

    VariableSymbol	_arg( TMods(), _ty );

    for ( int _i( 0 ); _i < nArgs(); ++_i )
    {
      std::stringstream	_nmArg;

      _nmArg << "_arg" << _i;

      ITracks		_iArg
      ( _iDolRootScope.TrackFactory<VariableSymbol>(_nmArg.str(),_arg,(*_pSC),_cu) );

      _myArgs[ _i ] = _iArg;
    }

    std::stringstream	_nmFcn;

    _nmFcn << "!" << ECall::DPI(myDpiId).Id();

    switch ( myDpiId )
    {
    case ECall::DPI::_pow_:
      _nmFcn << "Wrapr";
    default:
      break;
    }

    _nmFcn << R()->GetNextDLLid();

    IT::FcnDclHlpr _theFunction( (*_pSC), _ty, _nmFcn, IT::TFcn::_dllExport_ );

    for ( int _i( 0 ); _i < nArgs(); ++_i )
      _theFunction    << IT::IAcc( Expr( _myArgs[ _i ], NuVloc() ) );

    IT::List	_body;

    switch ( myDpiId )
    {
    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;
      }
    default:
      break;
    }

    IT::List		_itActualList;

    for ( int _i( 0 ); _i < nArgs(); ++_i )
      _itActualList << IT::IAcc( Expr( _myArgs[ _i ], NuVloc() ) ).FcnArg();

    IT::IAcc	_theLibmCall( _itActualList.Head()
    .CallDpi( _ty, DpiProto(), myDpiId, IT::FlagsOfIKind() ) );

    _body << _theLibmCall.Return();

    _theFunction << _body.Head();

    typedef SgmtCntnr::IBrndToSmblsWthLval	IBrndToSmblsWthLval;
    typedef SgmtCntnr::BtoSwLkey		BtoSwLkey;

    TpSignature	_noSig    ( new Signature );
    TBranding*	_branding ( new TBranding );
    TIBranding	_iBranding
    ( _branding->Insert( _iLexDolRootScope,Brands() ).first );
    TpBrand	_pBrand   ( new Brand( _iBranding ) );
    RefPtr<Brands>_oneBrand( new Brands( _noSig, _pBrand ) );
    IBrands	_iBrands (IPair<TBrands::TIterator>((*_oneBrand).begin(),true));
    IBrndToSmblsWthLval _iBtoWsl( (*_pSC)->Get( BtoSwLkey( _iBrands ) ) );
    OneGeste	_theGeste
    ( R()->terminusStmt, _iLexDolRootScope, _iDolRootScope, DLLobject() );

    IT::TpLlVmGenerator	_pLlVm
    ( _cu.LlVmGeneratorFactory( true/*isCommonToAllCUs*/ ) );

    _theGeste.SetClosure( _theFunction );

    _pSC->AllocLvalToGeste( _iBrands, _theGeste );

    _pLlVm->AtFunction( (*_pSC), _iBrands, _iBtoWsl, _theGeste );


    switch ( myDpiId )
    {
#     ifdef C_FILE_GENERATOR
    case ECall::DPI::_pow_:
      _pSC->AddRef();
      _pBrand->AddRef();
      _oneBrand->AddRef();
      _noSig->AddRef();	
      _cu.GetCfileGenerator()->AtFunction( *_pSC, _iBrands, _theGeste );
      break;
#     endif C_FILE_GENERATOR
    default:
      delete _branding;
      break;
    }

    TyFloat const&	_tyFloat( *(TyFloat const*)_ty );
    Fcn			_rslt;

    if ( _tyFloat.GetnBits() <= TyFloat::_IEEEdouble_
    ||   ConstFP::LongDoubleIs128Bits() )
    {
      try {
	_rslt = Fcn( _ty, _pLlVm->JIT(), _nmFcn.str() );
      } catch ( Message& _msg ) {
	_rslt = LowerPrecision( _tyFloat, _msg );
      }
    }

    return _rslt;
  }
}

[-- Attachment #4: TAGS --]
[-- Type: application/octet-stream, Size: 466 bytes --]

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

end of thread, other threads:[~2021-05-01  0:08 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-29 20:14 bug#48107: 27.2; tags-quiery-replace fails to find occurences Bob Floyd
2021-04-29 22:27 ` Gregory Heytings
2021-04-30  7:46   ` Eli Zaretskii
2021-04-30  8:59     ` Gregory Heytings
2021-04-30 15:34       ` Bob Floyd
2021-04-30 15:50         ` Eli Zaretskii
2021-04-30 17:59           ` Bob Floyd
2021-04-30 18:07             ` Eli Zaretskii
2021-04-30 20:16             ` Gregory Heytings
2021-05-01  0:08               ` Bob Floyd
2021-04-30 15:54         ` Gregory Heytings
2021-04-30 17:39     ` Stefan Kangas
2021-04-30 18:00       ` Eli Zaretskii

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