From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.bugs Subject: bug#19468: 25.0.50; UI inconveniences with M-. Date: Mon, 27 Apr 2015 17:54:30 -0400 Message-ID: References: <83zja6b3tc.fsf@gnu.org> <54A24079.4020902@yandex.ru> <54A2FF47.6010207@yandex.ru> <54A86135.7080004@yandex.ru> <54A90002.7080009@gmx.at> <54A9C3FB.7000602@yandex.ru> <54AA3881.3080304@gmx.at> <54ABBB47.7010603@yandex.ru> <837fszx7iy.fsf@gnu.org> <83r3r5wqwv.fsf@gnu.org> <83k2wxwexb.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1430171738 18813 80.91.229.3 (27 Apr 2015 21:55:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 27 Apr 2015 21:55:38 +0000 (UTC) Cc: dgutov@yandex.ru, 19468@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Apr 27 23:55:22 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Ymqzh-0003zj-FA for geb-bug-gnu-emacs@m.gmane.org; Mon, 27 Apr 2015 23:55:13 +0200 Original-Received: from localhost ([::1]:57745 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ymqzh-0000Kd-0Q for geb-bug-gnu-emacs@m.gmane.org; Mon, 27 Apr 2015 17:55:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58285) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ymqzd-0000Ix-8f for bug-gnu-emacs@gnu.org; Mon, 27 Apr 2015 17:55:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YmqzY-0002Rc-95 for bug-gnu-emacs@gnu.org; Mon, 27 Apr 2015 17:55:09 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:51880) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YmqzY-0002Qd-6g for bug-gnu-emacs@gnu.org; Mon, 27 Apr 2015 17:55:04 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YmqzX-0005uo-Kj for bug-gnu-emacs@gnu.org; Mon, 27 Apr 2015 17:55:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 27 Apr 2015 21:55:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19468 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 19468-submit@debbugs.gnu.org id=B19468.143017167722704 (code B ref 19468); Mon, 27 Apr 2015 21:55:03 +0000 Original-Received: (at 19468) by debbugs.gnu.org; 27 Apr 2015 21:54:37 +0000 Original-Received: from localhost ([127.0.0.1]:41656 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ymqz6-0005u6-AH for submit@debbugs.gnu.org; Mon, 27 Apr 2015 17:54:36 -0400 Original-Received: from chene.dit.umontreal.ca ([132.204.246.20]:55334) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ymqz3-0005ty-QC for 19468@debbugs.gnu.org; Mon, 27 Apr 2015 17:54:34 -0400 Original-Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id t3RLsU5b023410; Mon, 27 Apr 2015 17:54:30 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 80F861E3F; Mon, 27 Apr 2015 17:54:30 -0400 (EDT) In-Reply-To: <83k2wxwexb.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 27 Apr 2015 22:26:40 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV5289=0 X-NAI-Spam-Version: 2.3.0.9393 : core <5289> : inlines <2804> : streams <1429661> : uri <1917071> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:102120 Archived-At: > Emacs 24 also had "C-u M-." to go to the next one. This one doesn't; > moreover, if you try "C-u M-.", you get prompted for the symbol again, > and if you type the same one, you get nowhere. The other matches are > only available via completion, see below. Maybe we should write an xref-old-ui-mode. It would make M-. always prompt and it would always jump to the first entry and then let you use C-u M-. to jump to the next match. >> But popping up the *xref* buffer when there's only one element in it >> doesn't make much sense I think. > Oh, but there shouldn't be only one element: you will see the others > if you type TAB instead of RET. No: there's only one definition of `find-tag' so Elisp's xref backend just returns that one and that's it. > IOW, the elisp-mode back-end does know about the other candidates, it > just doesn't show them in *xref*. None of the others are definitions of `find-tag'. Arguably, the find-tag advice in org-ctags.el could be offered as well, if org-ctags.el happens to be loaded (tho currently we could only do that for an advice added via advice-add rather than via defadvice since defadvice does not keep track of the origin). > It somehow decided for me that I want only the exact match. It's rather that the old etags interface was not sure enough of itself, so it offered anything that had "find-tag" as a substring somewhere, i.e. lots and lots of false positives. > And btw, there is another confusing difference between these back-ends > that somehow bubbles up to the UI level: the elisp-mode back-end only > supports finding multiple matches via completion, No. `semantic-symref-find-tags-by-name' is not a match for "show me the definition of find-tag" and neither is "find-tag-tag". The problem here is that the current etags xref backend returns confusingly many so-called "matches" which are really irrelevant and should only be included in the completions. There's a difference between: I know the name, I need to find out its definition. and I remember the name includes something like "find-tag" The old code did not distinguish between the two, but the new code does. I think that's an important feature of the new code in this respect. Stefan