From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stephen Leake Newsgroups: gmane.emacs.devel Subject: xref overrides user xref-backend-functions Date: Tue, 01 Dec 2015 00:15:26 -0600 Message-ID: <864mg2u22p.fsf@stephe-leake.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1448950561 30452 80.91.229.3 (1 Dec 2015 06:16:01 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 1 Dec 2015 06:16:01 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Dec 01 07:15:50 2015 Return-path: Envelope-to: ged-emacs-devel@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 1a3eE9-0004ct-Ge for ged-emacs-devel@m.gmane.org; Tue, 01 Dec 2015 07:15:49 +0100 Original-Received: from localhost ([::1]:44914 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3eE8-00015x-78 for ged-emacs-devel@m.gmane.org; Tue, 01 Dec 2015 01:15:48 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53624) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3eE4-00015s-Mr for emacs-devel@gnu.org; Tue, 01 Dec 2015 01:15:45 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a3eE1-0005KO-1a for emacs-devel@gnu.org; Tue, 01 Dec 2015 01:15:44 -0500 Original-Received: from gproxy9-pub.mail.unifiedlayer.com ([69.89.20.122]:53898) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1a3eE0-0005K8-Mg for emacs-devel@gnu.org; Tue, 01 Dec 2015 01:15:40 -0500 Original-Received: (qmail 31555 invoked by uid 0); 1 Dec 2015 06:15:37 -0000 Original-Received: from unknown (HELO CMOut01) (10.0.90.82) by gproxy9.mail.unifiedlayer.com with SMTP; 1 Dec 2015 06:15:37 -0000 Original-Received: from host114.hostmonster.com ([74.220.207.114]) by CMOut01 with id o6FV1r00H2UdiVW016FYiy; Mon, 30 Nov 2015 23:15:36 -0700 X-Authority-Analysis: v=2.1 cv=Zc6OaKlA c=1 sm=1 tr=0 a=CQdxDb2CKd3SRg4I0/XZPQ==:117 a=CQdxDb2CKd3SRg4I0/XZPQ==:17 a=DsvgjBjRAAAA:8 a=f5113yIGAAAA:8 a=9i_RQKNPAAAA:8 a=hEr_IkYJT6EA:10 a=x_XPkuGwIRMA:10 a=qtqOOiqGOCEA:10 a=vaJtXVxTAAAA:8 a=sOBbKFSY1zlASTyBXAEA:9 Original-Received: from [76.218.37.33] (port=59185 helo=TAKVER2) by host114.hostmonster.com with esmtpa (Exim 4.84) (envelope-from ) id 1a3eDq-000679-E4 for emacs-devel@gnu.org; Mon, 30 Nov 2015 23:15:30 -0700 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (windows-nt) X-Identified-User: {2442:host114.hostmonster.com:stephele:stephe-leake.org} {sentby:smtp auth 76.218.37.33 authed with stephen_leake@stephe-leake.org} X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 69.89.20.122 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:195657 Archived-At: This commit: commit a5fd38c3a6f263185ce5838010e7a0d64b49bec2 Committer : Dmitry Gutov CommitDate: Sat Nov 21 01:57:15 2015 +0200 Add xref--etags-backend to xref-backing-functions using add-hook * lisp/progmodes/xref.el (xref-backend-functions): Move the default value into a separate `add-hook' call (bug#21964). overrides setting xref-backend-functions in ~/.emacs-init. For example, from emacs 25 -Q, evaluate: (progn (setq xref-backend-functions (lambda () 'my-xref-backend)) (require 'xref) xref-backend-functions) This gives: (etags--xref-backend (lambda nil (quote my-xref-backend))) which is not what I want. This needs a comment on why etags--xref-backend is not set in the default value of the variable; it's not clear to me based on the bug report, and the bug report is not referenced from the code. I think a good fix is to not add the hook if already set: (unless xref-backend-functions (add-hook 'xref-backend-functions #'etags--xref-backend)) This works for my use case, and for bug#21964. An alternate work-around is to require xref before setting xref-backend-functions. -- -- Stephe