Xref history per activity
Xref history is kept for each activity. When user is not currently in activity and uses xref functionality, the original xref history function is called.
Currently, xref history is not persisted.
Hello,
This is a very interesting idea. I think it would be very useful, indeed.
A few issues before it could be merged:
- Please see this note in the readme: https://github.com/alphapapa/activities.el?tab=readme-ov-file#copyright-assignment
- While this code is quite simple, I think this should be implemented as a separate minor mode so users could choose whether to enable it. One of the principles I'm developing Activities by is to be flexible and integrate with other features optionally, rather than forcing users to modify their existing workflows.
- One minor note: I think the xref history map can use the
activitystruct directly as the key rather than the name of the activity. As is, I see no reason not to do so. What do you think?
Thanks for submitting this patch.
It occurred me right away to add this feature when I started using the activities package, because the two modes of operation that emacs offers for xref history are, IMO, either too coarse (global history), or too narrow (window local history).
Emacs hasn't had a concept similar to session/activity to establish a more balanced way of working in between of those extremities.
I used the activity name as the list key for development purposes. The struct itself as the key made the xref storage variable hard to read. It's removed now. I also did the other changes as requested.
I have done the paperwork already some years ago.
It occurred me right away to add this feature when I started using the activities package, because the two modes of operation that emacs offers for xref history are, IMO, either too coarse (global history), or too narrow (window local history).
Emacs hasn't had a concept similar to session/activity to establish a more balanced way of working in between of those extremities.
Indeed, I hope Activities can serve that purpose well, to optionally integrate and provide context for various features like that.
I used the activity name as the list key for development purposes. The struct itself as the key made the xref storage variable hard to read.
Yeah, that can be a problem with Edebug and the like. Setting various print-level variables can help, but sometimes even that isn't quite enough.
It's removed now. I also did the other changes as requested.
Thanks.
I have done the paperwork already some years ago.
That's good, but the Emacs maintainers require me to verify new (to me) contributors' status through them before accepting such contributions. Forgive me if I should know who you are already. :) Please let me know the name and email address you completed the FSF CA form with, and I'll ask them for verification.
My name and email address have not changed. Hopefully you can get their confirmation.
My name and email address have not changed. Hopefully you can get their confirmation.
I do not know your name or email address.
They're visible in the git commit headers.
FWIW, i tried to email fsf.org about this myself (check if my documents are valid for these contributions) but didn't get a reply. Maybe I didn't ask it clearly enough.
They're visible in the git commit headers.
Since they aren't visible on GitHub's UI, I was hoping you'd be kind enough to save me the extra steps of having to view the PR's commits directly. As well, the name and address configured in git do not necessarily match the ones a contributor used when completing FSF CA paperwork, so it's best to just state them for clarity. It's generally helpful to make the maintainer's job as easy as possible, because there's never enough time to do all the things, especially when multiple projects are on one's plate.
Apologies.
I confirmed with FSF that my gnu paperwork is still valid.
Apologies.
I confirmed with FSF that my gnu paperwork is still valid.
As I said earlier, the Emacs maintainers require me to get confirmation from them; I am not allowed to take your word for it.
I received your email with name and address, and I cc'ed you on my email to the maintainers.
Eli confirmed your CA. Thanks for your patience. Haven't had much time for Emacs things lately. Will merge this for the next version.