all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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





  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.