From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: dick.r.chiang@gmail.com
Cc: Lars Ingebrigtsen <larsi@gnus.org>, 38136@debbugs.gnu.org
Subject: bug#38136: [PATCH] Make gnus-group-get-new-news a non blocking thread
Date: Mon, 18 Nov 2019 15:18:10 -0800 [thread overview]
Message-ID: <871ru4n58t.fsf@ericabrahamsen.net> (raw)
In-Reply-To: <87lfscesen.fsf@dick> (dick r. chiang's message of "Mon, 18 Nov 2019 17:22:40 -0500")
On 11/18/19 17:22 PM, dick.r.chiang@gmail.com wrote:
> I am very grateful for your interest and testing!
My pleasure, of course -- I think this is an important direction to be
going in.
>> selecting a deleted buffer
>
> I get this quite a bit. It occurs when `gnus-summary-buffer` in the main
> thread gets usurped by a background thread. I am either allowing this
> important variable to get reassigned before the dynamic-let in `gnus-thread-body`
> or I am not understanding dynamic-let in the presence of threads.
> Incidentally, it's very difficult to point to lines of code I'm talking
> about without git{hub,lab}.
We could consider turning on `lexical-binding' in gnus-start.el, and
just see what happens :)
Regarding code line numbers, etc, I just do it manually -- I'm looking
at the code to begin with, and it's trivial to check what line I'm on.
>> line 1791, because it's expecting "(car gnus-group-list-mode)" to be a
>> number, but it hasn't been set yet.
>
> I'll look into this, and add a test for `nntp-open-server`.
>
> I am happy to let this marinate to get people thinking about Gnus's
> future. There are many historical artifacts (like blocking
> `gnus-group-get-new-news`
> and left-field variables like `gnus-secondary-select-methods`) that prevent
> Gnus from becoming a viable MUA for more people.
Well they definitely prevent bug-hunters and feature-implementers from
making much progress. Stuff like `gnus-group-list-mode' drives me nuts:
an undocumented variable that might totally change Gnus' behavior. But
unpicking this complexity is slow work.
> Some other fellow recently posted about an ephemeral group branch which he
> somehow got others to test for him in-parallel. I don't know how he did that
> outside the debbugs system.
I make liberal use of git worktrees. I made a local branch to apply your
patch, then checked it out into a separate directory with "git worktree
add" and built Emacs there. Then I run that Emacs. For Gnus stuff I have
a package called gnus-mock that provides a working Gnus environment with
dummy data. I point gnus-mock at the worktree directory, and it starts
up a clean Emacs with the Gnus data in place. I do most of my testing
there.
On the Emacs side it's projectile and magit: projectile indexes the
worktree as a separate project. If you send me a line number from your
branch to look at, I do "C-c p p" -> helm-projectile-switch-project
which opens up magit for the project, then "C-c p f" ->
helm-projectile-find-file, then the usual "M-g g" -> goto-line. Not too
inconvenient.
If you have access to the Emacs repos and are collaborating with others
who do, too, then it can make sense to push a "feature/foo" branch to
the repos, and share it. I've done testing that way.
What I'd like is a Gnus summary minor mode I could enable in, say,
"emacs.bugs", which turns commit hashes into hyperlinks and provides
commands for "apply the attached patch to some worktree". I think other
people have done that, I've just never gotten around to it.
Eric
next prev parent reply other threads:[~2019-11-18 23:18 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-08 14:56 bug#38136: [PATCH] Make gnus-group-get-new-news a non blocking thread dick.r.chiang
2019-11-09 3:31 ` Eric Abrahamsen
2019-11-14 6:04 ` Lars Ingebrigtsen
2019-11-17 23:25 ` Eric Abrahamsen
2019-11-18 8:54 ` Lars Ingebrigtsen
2019-11-18 20:38 ` Eric Abrahamsen
2019-11-18 22:22 ` dick.r.chiang
2019-11-18 23:18 ` Eric Abrahamsen [this message]
2019-11-19 10:18 ` Robert Pluim
2019-11-19 17:08 ` Eric Abrahamsen
2019-11-20 11:18 ` Lars Ingebrigtsen
2019-11-20 11:55 ` Michael Albinus
2019-11-20 12:37 ` Robert Pluim
2019-11-20 13:00 ` Michael Albinus
2019-11-20 13:31 ` Robert Pluim
2019-11-20 13:43 ` Michael Albinus
2019-11-20 14:18 ` Robert Pluim
2019-11-20 14:30 ` Michael Albinus
2019-11-20 17:31 ` Robert Pluim
2019-11-20 17:45 ` Michael Albinus
2019-11-20 16:42 ` Eric Abrahamsen
2019-11-20 16:58 ` Robert Pluim
2019-11-20 17:01 ` Michael Albinus
2019-11-20 17:24 ` Robert Pluim
2019-11-20 17:34 ` Michael Albinus
2019-11-20 17:42 ` Robert Pluim
2019-11-20 17:51 ` Michael Albinus
2019-11-20 17:53 ` Robert Pluim
2019-11-20 18:22 ` Michael Albinus
2019-11-20 18:43 ` Eric Abrahamsen
2019-11-20 19:29 ` Robert Pluim
2019-11-20 16:59 ` Michael Albinus
2019-11-20 17:28 ` Robert Pluim
2019-11-20 17:43 ` Michael Albinus
2019-11-20 17:51 ` Robert Pluim
2019-11-20 17:59 ` Michael Albinus
2019-11-21 11:52 ` Lars Ingebrigtsen
2019-11-21 12:46 ` Michael Albinus
2019-11-21 13:03 ` Lars Ingebrigtsen
2019-11-21 14:54 ` Michael Albinus
2019-11-21 16:39 ` Robert Pluim
2019-11-22 8:30 ` Michael Albinus
2019-11-22 11:15 ` Robert Pluim
2019-11-22 11:41 ` Michael Albinus
2019-11-22 14:13 ` Robert Pluim
2019-11-22 16:33 ` Michael Albinus
2019-11-24 11:09 ` Michael Albinus
2019-12-14 16:22 ` dick.r.chiang
2019-12-14 19:38 ` Eric Abrahamsen
2021-05-12 15:52 ` Lars Ingebrigtsen
2021-05-12 16:30 ` dick.r.chiang
2019-11-12 10:01 ` bug#38136: [PATCH] Make gnus-group-get-new-news a non blocking thread, " Robert Pluim
2019-11-25 17:50 ` bug#38136: https://github.com/dickmao/gnus dick.r.chiang
2019-11-25 19:02 ` Eric Abrahamsen
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=871ru4n58t.fsf@ericabrahamsen.net \
--to=eric@ericabrahamsen.net \
--cc=38136@debbugs.gnu.org \
--cc=dick.r.chiang@gmail.com \
--cc=larsi@gnus.org \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.