unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Konstantin Kharlamov <hi-angel@yandex.ru>
Cc: emacs-devel@gnu.org
Subject: Re: [PATCH 2/3] lisp/progmodes/etags.el don't (forward-char) as it's overriden next line
Date: Mon, 18 Mar 2019 19:00:49 +0200	[thread overview]
Message-ID: <83zhpsunge.fsf@gnu.org> (raw)
In-Reply-To: <1552902196.12639.1@yandex.ru> (message from Konstantin Kharlamov on Mon, 18 Mar 2019 12:43:16 +0300)

> Date: Mon, 18 Mar 2019 12:43:16 +0300
> From: Konstantin Kharlamov <hi-angel@yandex.ru>
> Cc: emacs-devel@gnu.org
> 
> > I'm not talking about whitespace.  I'm talking about a tags table file
> > that names a symbol 'foobar', say.  If you search for a tag "bar" and
> > do not anchor the search at the beginning of a line, you will decide
> > that "bar" is present on the "foobar" line, although it really isn't.
> > Right?
> 
> Not exactly. Here's an alternative bad situation: let's say you do 
> anchor the text, and you search for tag 'foo'. And… you still match 
> 'foobar'!

That's expected, and how etags.el should work: it finds tags that
_begin_ with the specified text.  Partial matches are filtered out by
higher-level routines, if needed.

But with your proposed change the match will be in the middle of a
symbol as well, something the callers don't expect.

> 	#define FOO
> 	#define FOO_BAR
> 
> If source code is intact, you should get FOO. But if code changed, then 
> emacs tries to find where did it go, and may as well stumble upon 
> FOO_BAR.

That's okay, that's how this low-level stuff is supposed to work.

> So, I suggest an improvement to my patch: how about we
> 
> 1. anchor the regexp to the end of the line also
> 2. replace trailing space with "any whitespace" regex '\s-*'
> 
> ?

etags.el is used by/supports many major modes, and in general I don't
think we want to assume that whitespace in a tag is insignificant,
certainly not as a global change in behavior.

So I would actually suggest to make one step back and describe in more
detail the actual problem you had with the current code.  The anjuta
issue to which you pointed doesn't have enough details, like why the
change in leading whitespace was deemed a problem, and so I cannot
make up my mind what is the actual problem and why it should be fixed
in etags.el.

Can you provide those additional details?

TIA



  parent reply	other threads:[~2019-03-18 17:00 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-16  1:53 [PATCH 1/3] lisp/progmodes/etags.el clean up code by removing a temporary Konstantin Kharlamov
2019-03-16  1:53 ` [PATCH 2/3] lisp/progmodes/etags.el don't (forward-char) as it's overriden next line Konstantin Kharlamov
2019-03-16 12:43   ` Eli Zaretskii
2019-03-16 15:42     ` Konstantin Kharlamov
2019-03-16 16:00       ` Stefan Monnier
2019-03-16 16:26       ` Eli Zaretskii
2019-03-16 21:12         ` Konstantin Kharlamov
2019-03-16 21:47           ` Konstantin Kharlamov
2019-03-17  3:36           ` Eli Zaretskii
2019-03-17  3:41             ` Konstantin Kharlamov
2019-03-17 15:17               ` Eli Zaretskii
2019-03-17 15:52                 ` Stefan Monnier
2019-03-17 16:13                   ` Eli Zaretskii
2019-03-17 17:36                     ` Stefan Monnier
2019-03-17 21:14                       ` Eradicating selective-display == t (was: [PATCH 2/3] lisp/progmodes/etags.el don't (forward-char) as it's overriden next line) Stefan Monnier
2019-03-17 21:32                         ` Konstantin Kharlamov
2019-03-18  1:12                           ` Eradicating selective-display == t Stefan Monnier
2019-03-18  9:16                             ` Konstantin Kharlamov
2019-03-18 12:10                               ` Stefan Monnier
2019-03-17 19:06                 ` [PATCH 2/3] lisp/progmodes/etags.el don't (forward-char) as it's overriden next line Konstantin Kharlamov
2019-03-17 19:22                   ` Eli Zaretskii
2019-03-17 19:29                     ` Konstantin Kharlamov
2019-03-17 20:21                       ` Eli Zaretskii
2019-03-17 20:27                         ` Konstantin Kharlamov
2019-03-17 20:40                           ` Eli Zaretskii
2019-03-17 20:44                             ` Konstantin Kharlamov
2019-03-18  3:34                               ` Eli Zaretskii
2019-03-18  9:43                                 ` Konstantin Kharlamov
2019-03-18  9:57                                   ` Konstantin Kharlamov
2019-03-18 17:00                                   ` Eli Zaretskii [this message]
2019-03-18 19:15                                     ` Konstantin Kharlamov
2019-03-18 19:25                                       ` Konstantin Kharlamov
2019-03-18 20:16                                       ` Eli Zaretskii
2019-03-18 21:45                                         ` Konstantin Kharlamov
2019-03-18 23:13                                           ` Konstantin Kharlamov
2019-03-18 23:38                                             ` Konstantin Kharlamov
2019-03-19  1:46                                               ` Stefan Monnier
2019-03-19  6:47                                           ` Eli Zaretskii
2019-03-16  1:53 ` [PATCH 3/3] lisp/progmodes/etags.el improve match by string trimming Konstantin Kharlamov
2019-03-16  2:13   ` [PATCH v2] " Konstantin Kharlamov
2019-03-16 12:46     ` Eli Zaretskii
2019-03-16 15:38       ` Konstantin Kharlamov
2019-03-16 16:29         ` Eli Zaretskii
2019-03-17  2:38     ` [PATCH v3] " Konstantin Kharlamov
2019-03-19  6:55 ` [PATCH v2] lisp/progmodes/etags.el clean up code by removing a temporary Konstantin Kharlamov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83zhpsunge.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=hi-angel@yandex.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).