unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Ergus <spacibba@aol.com>
To: Jim Porter <jporterbugs@gmail.com>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
Subject: Re: [RFC] Urgrep: New ELPA submission (eventually)
Date: Sat, 04 Feb 2023 22:37:52 +0100	[thread overview]
Message-ID: <669C8394-517F-4178-B7FE-51A47992C823@aol.com> (raw)
In-Reply-To: <d6613829-042d-b934-8ee2-516f8cfff8cf@gmail.com>

Hi Jim:

On February 4, 2023 8:44:12 PM GMT+01:00, Jim Porter <jporterbugs@gmail.com> wrote:
>(Coincidentally, I was actually thinking about posting a followup to this thread this weekend myself!)
>
>On 2/4/2023 9:12 AM, Ergus wrote:
>> Any progress on this? I have seen the package on github and it looks
>> very nice... but sadly not in elpa yet, so it won't be in my system
>> since then.
>> 
>> Is there something missing?
>
>Mostly a lack of time, and trying to spend the Emacs time I do have on fixing some Eshell stuff. But since any future Eshell changes will be in Emacs 30, the time pressure is off there.
>
>I do have a couple of open questions that I couldn't find answers for though:
>
>First, assigning copyright of Urgrep to the FSF (so that it can go in GNU ELPA) is just a matter of updating the copyright field in the code, right? Do I need to fill out any paperwork or anything too?
>

Eli?

>Second, my usual process for versioning is that I'll release a version like "1.0" by updating the "Version:" field and tagging it. Then, in the next commit, I update the "Version:" field to something like "2.0-snapshot". So in this case, I'd expect GNU ELPA to give users version 1.0, and GNU ELPA-devel to give users the latest 2.0-snapshot version. Does ELPA understand that? I see that after cutting a release, lots of Emacs packages just leave the version identifier alone until the next release. I'd prefer not to do that, just in case someone reports a bug on the snapshot version: having a different version string for the snapshot helps to prevent confusion about which version they're using.
>
>I think GNU ELPA-devel solves this confusion by appending the date to the version identifier (so you get something like 1.0.20230204...), but that wouldn't help users pulling Urgrep directly from Git.
>
>> I would like even to see this package or similar approach in vanilla
>> (mainly to speedup the venerable rgrep which sadly gets too slow on
>> big projects due to the serialization that find adds to grep.)
>There are definitely a number of places that core Emacs would benefit from something like this. For example, Xref does some of this on its own, but has fewer options for search programs, and I'm not sure if Xref's search program is remote-connection aware (one of my main reasons for writing Urgrep is that I use Tramp extensively, and not every system I connect to has my favorite search program).
>

I have exactly the same issue... So I am happy to know that the tramp compatibility is tested :). BTW, in the gtags-mode package I added a search strategy with connection local variables and some caching that is reasonable to avoid using executable-find excessively with tramp, but also minimizing the manual user customization. 

>I could see Urgrep becoming a core Emacs package once it's had wide enough use that all the major bugs/design flaws have been worked out. That might require shuffling some things around though, since Urgrep comes with hooks for wgrep, but wgrep is currently in Non-GNU ELPA. I'm not sure it's ok for something in Emacs proper to have an optional dependency on a Non-GNU package.

IMHO I would prefer a simpler version which only implements the new basic features (functions) or improves the ones in the emacs core (do one thing and do it right). Mainly to minimize external dependencies, potential conflicts and the danger of depending on something that may get unmaintained/broken in a while (simple is better than complex). All improves for other packages can be added as optional (different packages, or advises/hooks that the user can add easily to its config, so they only need a couple of lines in the readme... Like vertico does...

WDYT?

Best, Ergus.


-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



  reply	other threads:[~2023-02-04 21:37 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-12  4:18 [RFC] Urgrep: New ELPA submission (eventually) Jim Porter
2022-09-12 12:58 ` Stefan Monnier
2022-09-14  4:52   ` Jim Porter
2023-02-04 17:12     ` Ergus
2023-02-04 19:44       ` Jim Porter
2023-02-04 21:37         ` Ergus [this message]
2023-02-04 22:22         ` Stefan Monnier
  -- strict thread matches above, loose matches on Subject: below --
2022-09-12  4:56 Jim Porter
2022-09-12  9:19 ` Stefan Kangas
2022-09-12 17:05   ` Jim Porter
2022-09-12 11:11 ` Eli Zaretskii
2022-09-12 18:00   ` Jim Porter

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=669C8394-517F-4178-B7FE-51A47992C823@aol.com \
    --to=spacibba@aol.com \
    --cc=emacs-devel@gnu.org \
    --cc=jporterbugs@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    /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).