unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stephen Leake <stephen_leake@stephe-leake.org>
To: Nicolas Petton <nicolas@petton.fr>
Cc: David Engster <deng@randomsample.de>,
	aaronecay@gmail.com, emacs-devel@gnu.org, Stromeko@nexgo.de,
	Dmitry Gutov <dgutov@yandex.ru>, Eli Zaretskii <eliz@gnu.org>
Subject: Re: xref and GNU Global (Re: ELPA policy)
Date: Thu, 12 Nov 2015 01:05:58 -0600	[thread overview]
Message-ID: <86k2pnelyh.fsf@stephe-leake.org> (raw)
In-Reply-To: <87twosccvp.fsf@petton.fr> (Nicolas Petton's message of "Thu, 12 Nov 2015 00:52:42 +0100")

Nicolas Petton <nicolas@petton.fr> writes:

> Stephen Leake <stephen_leake@stephe-leake.org> writes:
>
>>> What about having support for Global (I haven't followed the development
>>> of xref in a while, so I might have missed it).  I'm using ggtags now,
>>> but having support for it in xref would be awesome.
>>
>> I'm working on it, but I seem to be going very slowly.
>
> Do you want help?

Yes, but the main reason I'm not making progress on this backend is that
I keep getting distracted by other project.el and xref issues.

Here's what I have so far - feel free to play with it:

--- file symref-patches.el
;; Additions to semantic/symref.el

;; semantic/symref implementation of xref-find-function

(defun semantic-symref--xref-find-definitions (symbol &optional symref-tool)
  "Implement `xref-find-function' for 'definitions for the semantic/symref backend.
SYMREF-TOOL determines which symref tool to use (default
'detect); see `semantic-symref-tool-alist'."
  (require 'semantic/symref)
  (defvar semantic-symref-tool)
  (let* ((semantic-symref-tool (or symref-tool 'detect))
         (res (semantic-symref-find-tags-by-name symbol 'project))
         (hits (and res (oref res hit-lines)))
	 xrefs)

    (dolist (hit hits)
      (push
       (xref-file-location
	:file (cdr hit)
	:line (car hit)
	:column 0)
       ;; FIXME: add :hint (match-string 3))
       xrefs))

    xrefs))

(defun semantic-symref-xref-find (action id)
  "Implement `xref-find-function' for semantic/symref."
  (cl-ecase action
    (definitions
      (semantic-symref--xref-find-definitions id))
    (references
     (semantic-symref--xref-find-references id))
    (apropos
     (semantic-symref--xref-find-apropos id)))
  )

(provide 'symref-patches)
--- end file


> BTW, regarding CEDET, I never tried it, but I don't plan to use it
> either.  I think the best would be to just add a simple backend for
> xref, with no dependency to CEDET.

The above requires that you enable EDE via:

 (require 'ede)
 (global-ede-mode)
 (ede-enable-generic-projects)

but it does not require semantic-mode.

EDE is required because the symref backend detection uses EDE to find
the project root. For Gnu Global, that could be changed to one call to
locate-dominating-file. But I'm waiting for the current CEDET merge to
master to be complete before suggesting changes to this.

This gets to the issue of whether CEDET is part of the Emacs standard
library or not. If it is, we should use it, while also making it more
transparent to users like you, who would rather not be bothered by it.
Which is an example of the kind of thing I get distracted by :).

Can you elaborate on why you don't want to use CEDET?

I'm assuming you mean you don't want to enable semantic-mode or
ede-mode; you should not care whether the file cedet-global.el is
loaded. 

-- 
-- Stephe



  reply	other threads:[~2015-11-12  7:05 UTC|newest]

Thread overview: 209+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-04 12:39 streams are cool, you could stream virtually anything! Nicolas Petton
2015-11-04 15:50 ` John Wiegley
2015-11-04 16:59   ` Damien Cassou
2015-11-04 18:06   ` Michael Heerdegen
2015-11-04 19:17     ` Michael Heerdegen
2015-11-04 21:58     ` Nicolas Petton
2015-11-04 23:20       ` T.V Raman
2015-11-04 23:31         ` Nicolas Petton
2015-11-05  0:27         ` John Wiegley
2015-11-05  0:38           ` T.V Raman
2015-11-05  0:48             ` ELPA policy (Was: streams are cool, you could stream virtually anything!) John Wiegley
2015-11-05  0:52               ` T.V Raman
2015-11-08 17:18               ` ELPA policy Achim Gratz
2015-11-08 17:49                 ` Eli Zaretskii
2015-11-08 20:52                   ` Aaron Ecay
2015-11-09  3:42                     ` Eli Zaretskii
2015-11-09  3:51                       ` Dmitry Gutov
2015-11-09 11:15                         ` New ELPA policy proposal (was: ELPA policy) Oleh Krehel
2015-11-09 13:51                           ` Artur Malabarba
2015-11-09 15:02                             ` New ELPA policy proposal Oleh Krehel
2015-11-09 16:22                               ` Artur Malabarba
2015-11-09 15:41                             ` Wolfgang Jenkner
2015-11-09 15:50                               ` Dmitry Gutov
2015-11-09 16:13                                 ` Wolfgang Jenkner
2015-11-09 21:50                                   ` Richard Stallman
2015-11-09 16:25                               ` Artur Malabarba
2015-11-09 16:11                           ` New ELPA policy proposal (was: ELPA policy) Eli Zaretskii
2015-11-10  7:26                             ` New ELPA policy proposal Oleh Krehel
2015-11-10 14:24                               ` John Wiegley
2015-11-10 16:36                                 ` Eli Zaretskii
2015-11-09 16:05                         ` ELPA policy Eli Zaretskii
2015-11-09 16:15                           ` Dmitry Gutov
2015-11-09 16:20                             ` Eli Zaretskii
2015-11-09 16:26                               ` Dmitry Gutov
2015-11-09 16:44                                 ` Eli Zaretskii
2015-11-09 17:46                                   ` Dmitry Gutov
2015-11-09 16:35                               ` Artur Malabarba
2015-11-09 19:52                               ` John Wiegley
2015-11-09 20:17                                 ` Achim Gratz
2015-11-09 21:38                                   ` John Wiegley
2015-11-10 20:07                                     ` Achim Gratz
2015-11-09 21:51                                 ` Richard Stallman
2015-11-09 22:06                                   ` John Wiegley
2015-11-09 23:05                                     ` Artur Malabarba
2015-11-10 18:18                                       ` Richard Stallman
2015-11-11 15:11                                         ` Nicolas Petton
2015-11-11 17:03                                           ` Richard Stallman
2015-11-09 23:47                                     ` Nicolas Petton
2015-11-09 23:44                                   ` Nicolas Petton
2015-11-09 23:42                                 ` Nicolas Petton
2015-11-09 23:52                                 ` Aaron Ecay
2015-11-10  0:04                                   ` John Wiegley
2015-11-10 18:06                                 ` Stephen Leake
     [not found]                                   ` <"<87lha5snji.fsf"@isaac.fritz.box>
     [not found]                                     ` <"<87d1vhsmuj.fsf"@isaac.fritz.box>
     [not found]                                       ` <"<878u65slue.fsf"@isaac.fritz.box>
     [not found]                                         ` <"<874mgtsjwn.fsf"@isaac.fritz.box>
2015-11-10 18:28                                   ` John Wiegley
2015-11-10 18:32                                     ` Dmitry Gutov
2015-11-10 18:35                                       ` John Wiegley
2015-11-10 18:44                                         ` David Engster
2015-11-10 18:49                                           ` John Wiegley
2015-11-10 20:00                                           ` Dmitry Gutov
2015-11-11 15:15                                             ` xref and GNU Global (Re: ELPA policy) Nicolas Petton
2015-11-11 15:22                                               ` Dmitry Gutov
2015-11-11 23:19                                                 ` Stephen Leake
2015-11-11 23:32                                                   ` Dmitry Gutov
2015-11-12  7:07                                                     ` Stephen Leake
2015-11-11 23:12                                               ` Stephen Leake
2015-11-11 23:52                                                 ` Nicolas Petton
2015-11-12  7:05                                                   ` Stephen Leake [this message]
2015-11-10 19:15                                         ` ELPA policy Eli Zaretskii
2015-11-10 22:44                                           ` xref CEDET (was ELPA policy) Stephen Leake
2015-11-10 21:52                                         ` ELPA policy Dmitry Gutov
2015-11-10 18:37                                       ` David Engster
2015-11-10 19:57                                         ` Dmitry Gutov
2015-11-10 20:01                                           ` Eli Zaretskii
2015-11-10 20:19                                             ` Dmitry Gutov
2015-11-10 20:34                                               ` Eli Zaretskii
2015-11-10 21:16                                                 ` Dmitry Gutov
2015-11-10 21:27                                                   ` Dmitry Gutov
2015-11-10 22:40                                               ` Stephen Leake
2015-11-10 20:45                                           ` David Engster
2015-11-10 21:07                                             ` Dmitry Gutov
2015-11-10 18:43                                     ` David Engster
2015-11-10 18:52                                       ` John Wiegley
2015-11-10 18:58                                         ` David Engster
2015-11-10 19:03                                           ` John Wiegley
2015-11-10 19:20                                             ` David Engster
2015-11-10 19:43                                               ` John Wiegley
2015-11-10 20:02                                                 ` David Engster
2015-11-10 20:24                                                   ` John Wiegley
2015-11-10 23:08                                                     ` Stephen Leake
2015-11-10 23:31                                                       ` John Wiegley
2015-11-11  0:32                                                         ` Drew Adams
2015-11-11  0:36                                                           ` John Wiegley
2015-11-11  9:25                                                             ` Stephen Leake
2015-11-11 13:52                                                               ` Filipp Gunbin
2015-11-11 21:22                                                                 ` Stephen Leake
2015-11-12 13:24                                                                   ` Filipp Gunbin
2015-11-12 17:11                                                                     ` John Wiegley
2015-11-12 19:17                                                                       ` Filipp Gunbin
2015-11-12 19:31                                                                         ` John Wiegley
2015-11-14 10:16                                                                         ` Stephen Leake
2015-11-12 19:52                                                                     ` Stephen Leake
2015-11-13 13:06                                                                       ` Filipp Gunbin
2015-11-14 10:30                                                                         ` Stephen Leake
2015-11-17 13:01                                                                           ` Filipp Gunbin
2015-11-17 16:18                                                                             ` Stephen Leake
2015-11-17 15:51                                                                           ` Tom Tromey
2015-11-11 17:02                                                               ` Richard Stallman
2015-11-11 17:24                                                                 ` John Wiegley
2015-11-12 14:02                                                                   ` Phillip Lord
2015-11-12 17:11                                                                     ` John Wiegley
2015-11-12 19:59                                                                     ` Stephen Leake
2015-11-13 21:58                                                                     ` Richard Stallman
2015-11-14  1:15                                                                       ` JJ Asghar
2015-11-14 17:23                                                               ` Jorge A. Alfaro-Murillo
2015-11-15 16:37                                                                 ` John Wiegley
     [not found]                                                             ` <<86bnb06g7g.fsf@stephe-leake.org>
     [not found]                                                               ` <<E1ZwYnH-0004b0-Gu@fencepost.gnu.org>
2015-11-11 17:47                                                                 ` Drew Adams
2015-11-11 19:23                                                                   ` John Wiegley
2015-11-11 19:58                                                                     ` Drew Adams
2015-11-11 23:27                                                                     ` Richard Stallman
2015-11-12  0:35                                                                       ` Artur Malabarba
2015-11-12  0:42                                                                         ` Dmitry Gutov
2015-11-12 22:34                                                                         ` Richard Stallman
2015-11-13  0:49                                                                           ` Artur Malabarba
2015-11-12  6:49                                                                       ` Stephen Leake
2015-11-12 15:09                                                                         ` Drew Adams
2015-11-12 17:29                                                                           ` Alex Schröder
2015-11-12 22:33                                                                         ` Richard Stallman
2015-11-14 10:33                                                                           ` Stephen Leake
2015-11-14 21:05                                                                             ` Richard Stallman
     [not found]                                                                       ` <<86oaezemp9.fsf@stephe-leake.org>
     [not found]                                                                         ` <<E1Zx0QR-0004QE-Ga@fencepost.gnu.org>
2015-11-12 23:05                                                                           ` Drew Adams
2015-11-13  7:51                                                                             ` Eli Zaretskii
2015-11-13 22:00                                                                             ` Richard Stallman
     [not found]                                                                             ` <<E1ZxMOr-0004hb-VH@fencepost.gnu.org>
2015-11-13 23:03                                                                               ` Drew Adams
2015-11-14  1:44                                                                                 ` Richard Stallman
2015-11-15  9:28                                                                                   ` Michael Heerdegen
2015-11-15 15:44                                                                                     ` Drew Adams
2015-11-17 22:55                                                                                       ` Richard Stallman
2015-11-17 23:17                                                                                         ` John Wiegley
2015-11-18  9:53                                                                                           ` Artur Malabarba
2015-11-18 10:12                                                                                             ` David Kastrup
2015-11-14  9:57                                                                                 ` Achim Gratz
     [not found]                                                                   ` <<m2twosgx1m.fsf@Vulcan.attlocal.net>
     [not found]                                                                     ` <<E1Zwent-0000bG-9i@fencepost.gnu.org>
2015-11-12  0:22                                                                       ` Drew Adams
2015-11-10 23:01                                                   ` Stephen Leake
2015-11-10 22:53                                                 ` Stephen Leake
2015-11-10 19:17                                         ` Eli Zaretskii
2015-11-10 23:10                                           ` Stephen Leake
2015-11-10 22:52                                         ` Stephen Leake
2015-11-10 18:49                                     ` Eli Zaretskii
2015-11-10 18:54                                       ` John Wiegley
2015-11-10 19:21                                         ` Eli Zaretskii
2015-11-10 19:26                                           ` Eli Zaretskii
2015-11-10 19:29                                             ` John Wiegley
2015-11-10 20:06                                           ` Dmitry Gutov
2015-11-10 23:25                                           ` Stephen Leake
2015-11-10 23:23                                         ` Stephen Leake
2015-11-10 20:03                                       ` Dmitry Gutov
2015-11-10 23:16                                       ` Stephen Leake
2015-11-10 22:36                                     ` Stephen Leake
2015-11-10 22:54                                       ` John Wiegley
2015-11-10 23:01                                         ` Drew Adams
2015-11-11  9:13                                           ` Stephen Leake
2015-11-11 14:58                                             ` Drew Adams
2015-11-09 18:22                       ` Achim Gratz
2015-11-09 18:45                         ` Eli Zaretskii
2015-11-09 18:58                           ` David Engster
2015-11-09 19:08                             ` Eli Zaretskii
2015-11-09 19:35                               ` David Engster
2015-11-09 20:12                                 ` Eli Zaretskii
2015-11-09 19:53                           ` Rasmus
2015-11-09 19:58                           ` Achim Gratz
2015-11-05 17:06           ` streams and generators (was: streams are cool, you could stream virtually anything!) Michael Heerdegen
2015-11-05 22:36             ` streams and generators Dmitry Gutov
2015-11-04 23:34       ` streams are cool, you could stream virtually anything! Michael Heerdegen
2015-11-05  9:27         ` Nicolas Petton
2015-11-05 11:26           ` Artur Malabarba
2015-11-05 11:52             ` Nicolas Petton
2015-11-05 16:31               ` raman
2015-11-05 16:48                 ` Michael Heerdegen
2015-11-05 21:58                   ` Nicolas Petton
2015-11-05 23:05                     ` Artur Malabarba
2015-11-05 23:34                       ` T.V Raman
2015-11-06  0:02                         ` Artur Malabarba
2015-11-06  0:39                           ` T.V Raman
2015-11-05 23:52                       ` Michael Heerdegen
2015-11-06  2:19                         ` John Wiegley
2015-11-06  2:47                           ` Michael Heerdegen
2015-11-06 15:09                             ` Filipp Gunbin
2015-11-06 10:49                           ` Nicolas Petton
2015-11-06 13:09                             ` Artur Malabarba
2015-11-06 13:43                               ` Nicolas Petton
2015-11-06 15:41                                 ` John Wiegley
2015-11-06 16:13                                   ` John Wiegley
2015-11-06 17:36                                   ` Nicolas Petton
2015-11-06 10:47                         ` Nicolas Petton
2015-11-06  2:08                   ` John Wiegley
2015-11-06 15:33                     ` Nicolas Petton
2015-11-06 16:08                       ` John Wiegley
2015-11-06 17:12                         ` Nicolas Petton
2015-11-05 23:06               ` Artur Malabarba
2015-11-05 14:12             ` Michael Heerdegen
2015-11-04 17:00 ` Phillip Lord
2015-11-04 22:00   ` Nicolas Petton
2015-11-05 12:28     ` Phillip Lord
2015-11-05 13:45       ` Nicolas Petton
2015-11-05 15:15         ` Michael Heerdegen
2015-11-05 16:35       ` Eli Zaretskii
2015-11-06  9:54         ` Phillip Lord
2015-11-04 17:57 ` Michael Heerdegen
2015-11-04 22:00   ` Nicolas Petton
     [not found] <<87ziyuaqhl.fsf@petton.fr>

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=86k2pnelyh.fsf@stephe-leake.org \
    --to=stephen_leake@stephe-leake.org \
    --cc=Stromeko@nexgo.de \
    --cc=aaronecay@gmail.com \
    --cc=deng@randomsample.de \
    --cc=dgutov@yandex.ru \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=nicolas@petton.fr \
    /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).