[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: scratch/eldoc-xref-project-gnu-elpa-core-packages b1631cd: Turn Eldo
From: |
Stefan Monnier |
Subject: |
Re: scratch/eldoc-xref-project-gnu-elpa-core-packages b1631cd: Turn Eldoc, Xref and Project into GNU ELPA :core packages |
Date: |
Mon, 11 May 2020 19:17:39 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
> 1. xref and project.el have a cyclic dependency. xref.el depends
> (properly) on project.el but it seems project.el also depends on
> xref.el.
>
> (defun project--files-in-directory (dir ignores &optional files)
> (require 'find-dired)
> (require 'xref)
> (defvar find-name-arg)
>
> How should I fix this? Any ideas? Or should I be creative?
IIUC a significant part of project's functionality works fine without
xref, so you could consider that project does not Package-Require
`xref`.
Also it's worth checking if it depend on a *recent* version of xref, or
if it also work with the xref that comes with Emacs-26 or even Emacs-25.
Another option is to bundle them into a single package (`:core` packages
can be composed of several files, see `soap-client` for an example).
> 2. It'd be nice if both xref.el and project.el were available for Emacs
> 26.3. But project.el in Emacs master depends on fileloop.el,
This dependency is of no real importance: it's only used to provide the
two commands `project-search` and `project-query-replace-regexp` for
which there are many alternatives anyway. So I wouldn't worry about it.
We could simply change the code to test (fboundp
'fileloop-initialize-replace) and signal a cleaner error (mentioning
that these commands only work in Emacs≥27) than "void-function".
Stefan