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 13:21:07 -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> <83pp6pwqnw.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1430155355 25635 80.91.229.3 (27 Apr 2015 17:22:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 27 Apr 2015 17:22:35 +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 19:22:20 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 1Ymmjb-0005vO-9p for geb-bug-gnu-emacs@m.gmane.org; Mon, 27 Apr 2015 19:22:19 +0200 Original-Received: from localhost ([::1]:56763 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ymmja-0007OC-Dg for geb-bug-gnu-emacs@m.gmane.org; Mon, 27 Apr 2015 13:22:18 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52724) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YmmjR-0007Lu-Kg for bug-gnu-emacs@gnu.org; Mon, 27 Apr 2015 13:22:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YmmjK-0000zl-Pm for bug-gnu-emacs@gnu.org; Mon, 27 Apr 2015 13:22:09 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:51690) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YmmjK-0000zh-Mm for bug-gnu-emacs@gnu.org; Mon, 27 Apr 2015 13:22:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YmmjK-0000Cs-Bj for bug-gnu-emacs@gnu.org; Mon, 27 Apr 2015 13:22:02 -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 17:22:02 +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.1430155276634 (code B ref 19468); Mon, 27 Apr 2015 17:22:02 +0000 Original-Received: (at 19468) by debbugs.gnu.org; 27 Apr 2015 17:21:16 +0000 Original-Received: from localhost ([127.0.0.1]:41463 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YmmiX-0000A8-NK for submit@debbugs.gnu.org; Mon, 27 Apr 2015 13:21:15 -0400 Original-Received: from pruche.dit.umontreal.ca ([132.204.246.22]:53943) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YmmiU-00009t-2O for 19468@debbugs.gnu.org; Mon, 27 Apr 2015 13:21:11 -0400 Original-Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id t3RHL7aV016490; Mon, 27 Apr 2015 13:21:07 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 8497F19DA; Mon, 27 Apr 2015 13:21:07 -0400 (EDT) In-Reply-To: <83pp6pwqnw.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 27 Apr 2015 18:13:07 +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 <2801> : streams <1429557> : uri <1916904> 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:102096 Archived-At: > I certainly hope that at least the Semantic one materializes soon > enough, otherwise it sounds like all this move to xref was for the > benefit of unbundled packages, IMO one of the main tasks of the maintainers is to provide infrastructure that consolidates the features that are duplicated out there in many different packages, all mutually slightly incompatible. So the usefulness does not directly depend on whether that feature is used by bundled or unbundled packages. Emacs thrives in large part thanks to all the unbundled packages out there and we shouldn't treat them as second-rate citizens. [ Of course, I much prefer when a package's copyright is assigned and when it's either in GNU ELPA or in Emacs proper, especially because it makes it easier to incorporate its features into the core so as to expand the general infrastructure and let other packages build on it. ] > and users of Emacs are just punished by having to learn a new UI for > no real advantage. I like the new UI, FWIW. But clearly, we need to work to make it better for those users who miss some aspects of the old UI. BTW, w.r.t the use of etags, what do you think of the patch below, which lets the elisp-xref functionality fallback on etags for functions/vars that aren't currently bound? [ Clearly, the patch doesn't work as is, since it only works once xref is loaded, but I hope you see what this is intended to do. ] > That said, the usual way in Emacs to provide minor variants of a > command is via special values of the prefix argument, like, for > example, "C-x C-s" does. The different ways to call xref-find-function are to distinguish jumping to the definition or to "all uses", and currently few backends support those features, I don't think we have a clear idea yet of how they should be presented to the user, and there are too many variants to collapse them all into C-u. So they'd probably be provided via different commands instead of all being accessed via M-. Stefan diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el index f289068..04bf49d 100644 --- a/lisp/progmodes/elisp-mode.el +++ b/lisp/progmodes/elisp-mode.el @@ -235,9 +235,9 @@ Blank lines separate paragraphs. Semicolons start comments. (setq imenu-case-fold-search nil) (add-function :before-until (local 'eldoc-documentation-function) #'elisp-eldoc-documentation-function) - (setq-local xref-find-function #'elisp-xref-find) - (setq-local xref-identifier-completion-table-function - #'elisp--xref-identifier-completion-table) + (add-function :before-until (local 'xref-find-function) #'elisp-xref-find) + (add-function :before-until (local 'xref-identifier-completion-table-function) + #'elisp--xref-identifier-completion-table) (add-hook 'completion-at-point-functions #'elisp-completion-at-point nil 'local))