Gnus development mailing list
 help / color / mirror / Atom feed
* gnus-extra-headers
@ 2021-09-01  8:15 Colin Baxter
  2021-09-02 22:12 ` gnus-extra-headers Eric Abrahamsen
  0 siblings, 1 reply; 18+ messages in thread
From: Colin Baxter @ 2021-09-01  8:15 UTC (permalink / raw)
  To: ding

Hello,

If emacs (tested with 27.2 and 28.0.50) is launched with -Q (or
gnus-extra-headers has not been set explicitly by the user) then the
variable gnus-extra-headers has the value:

--8<---------------cut here---------------start------------->8---
gnus-extra-headers is a variable defined in ‘gnus-sum.el’.
Its value is
(X-Diary-Time-Zone X-Diary-Dow X-Diary-Year X-Diary-Month X-Diary-Dom X-Diary-Hour X-Diary-Minute To Cc Keywords Gcc Newsgroups X-GM-LABELS)
Original value was 
(To Cc Keywords Gcc Newsgroups X-GM-LABELS)

  You can customize this variable.


This variable was introduced, or its default value was changed, in
version 25.1 of Emacs.

Documentation:
Extra headers to parse.
--8<---------------cut here---------------end--------------->8---

The X-Diary settings seem to come from nndiary.el, but there is nothing
in the doc-string to indicate this.

Is this a bug? Is not the "Original value" of gnus-extra-headers incorrect?

Best wishes,

Colin Baxter.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-01  8:15 gnus-extra-headers Colin Baxter
@ 2021-09-02 22:12 ` Eric Abrahamsen
  2021-09-03  5:42   ` gnus-extra-headers Colin Baxter
  0 siblings, 1 reply; 18+ messages in thread
From: Eric Abrahamsen @ 2021-09-02 22:12 UTC (permalink / raw)
  To: Colin Baxter; +Cc: ding

Colin Baxter <m43cap@yandex.com> writes:

> Hello,
>
> If emacs (tested with 27.2 and 28.0.50) is launched with -Q (or
> gnus-extra-headers has not been set explicitly by the user) then the
> variable gnus-extra-headers has the value:
>
> gnus-extra-headers is a variable defined in ‘gnus-sum.el’.
> Its value is
> (X-Diary-Time-Zone X-Diary-Dow X-Diary-Year X-Diary-Month X-Diary-Dom X-Diary-Hour X-Diary-Minute To Cc Keywords Gcc Newsgroups X-GM-LABELS)
> Original value was 
> (To Cc Keywords Gcc Newsgroups X-GM-LABELS)
>
>   You can customize this variable.
>
>
> This variable was introduced, or its default value was changed, in
> version 25.1 of Emacs.
>
> Documentation:
> Extra headers to parse.
>
> The X-Diary settings seem to come from nndiary.el, but there is nothing
> in the doc-string to indicate this.
>
> Is this a bug? Is not the "Original value" of gnus-extra-headers incorrect?

I don't think it's really a bug. If you don't use the nndiary backend,
those headers don't get added to `gnus-extra-headers', and it has its
"original value" as noted in *Help*. I don't think there's any contract
that says additional libraries can't manipulate the value of
customization options... is there?


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-02 22:12 ` gnus-extra-headers Eric Abrahamsen
@ 2021-09-03  5:42   ` Colin Baxter
  2021-09-03 18:30     ` gnus-extra-headers Eric Abrahamsen
  0 siblings, 1 reply; 18+ messages in thread
From: Colin Baxter @ 2021-09-03  5:42 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: ding

Hello Eric,
>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:

    > Colin Baxter <m43cap@yandex.com> writes:
    >> Hello,
    >> 
    >> If emacs (tested with 27.2 and 28.0.50) is launched with -Q (or
    >> gnus-extra-headers has not been set explicitly by the user) then
    >> the variable gnus-extra-headers has the value:
    >> 
    >> gnus-extra-headers is a variable defined in ‘gnus-sum.el’.  Its
    >> value is (X-Diary-Time-Zone X-Diary-Dow X-Diary-Year
    >> X-Diary-Month X-Diary-Dom X-Diary-Hour X-Diary-Minute To Cc
    >> Keywords Gcc Newsgroups X-GM-LABELS) Original value was (To Cc
    >> Keywords Gcc Newsgroups X-GM-LABELS)
    >> 
    >> You can customize this variable.
    >> 
    >> 
    >> This variable was introduced, or its default value was changed,
    >> in version 25.1 of Emacs.
    >> 
    >> Documentation: Extra headers to parse.
    >> 
    >> The X-Diary settings seem to come from nndiary.el, but there is
    >> nothing in the doc-string to indicate this.
    >> 
    >> Is this a bug? Is not the "Original value" of gnus-extra-headers
    >> incorrect?

    > I don't think it's really a bug. If you don't use the nndiary
    > backend, those headers don't get added to `gnus-extra-headers',
    > and it has its "original value" as noted in *Help*. I don't think
    > there's any contract that says additional libraries can't
    > manipulate the value of customization options... is there?

True, but the user might suppose that using -Q ensures that no extra
libraries are loaded. I would have thought that nndiary constitutes an
extra library. If it does not and the library is germane to -Q then why
omit any mention of it from gnus-extra-headers? I have quickly looked at
NEWS for emacs-25.1 but found nothing relevant.

Best wishes,

Colin Baxter.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-03  5:42   ` gnus-extra-headers Colin Baxter
@ 2021-09-03 18:30     ` Eric Abrahamsen
  2021-09-04 14:39       ` gnus-extra-headers Colin Baxter
  0 siblings, 1 reply; 18+ messages in thread
From: Eric Abrahamsen @ 2021-09-03 18:30 UTC (permalink / raw)
  To: Colin Baxter; +Cc: ding

Colin Baxter <m43cap@yandex.com> writes:

> Hello Eric,
>>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>     > Colin Baxter <m43cap@yandex.com> writes:
>     >> Hello,
>     >> 
>     >> If emacs (tested with 27.2 and 28.0.50) is launched with -Q (or
>     >> gnus-extra-headers has not been set explicitly by the user) then
>     >> the variable gnus-extra-headers has the value:
>     >> 
>     >> gnus-extra-headers is a variable defined in ‘gnus-sum.el’.  Its
>     >> value is (X-Diary-Time-Zone X-Diary-Dow X-Diary-Year
>     >> X-Diary-Month X-Diary-Dom X-Diary-Hour X-Diary-Minute To Cc
>     >> Keywords Gcc Newsgroups X-GM-LABELS) Original value was (To Cc
>     >> Keywords Gcc Newsgroups X-GM-LABELS)
>     >> 
>     >> You can customize this variable.
>     >> 
>     >> 
>     >> This variable was introduced, or its default value was changed,
>     >> in version 25.1 of Emacs.
>     >> 
>     >> Documentation: Extra headers to parse.
>     >> 
>     >> The X-Diary settings seem to come from nndiary.el, but there is
>     >> nothing in the doc-string to indicate this.
>     >> 
>     >> Is this a bug? Is not the "Original value" of gnus-extra-headers
>     >> incorrect?
>
>     > I don't think it's really a bug. If you don't use the nndiary
>     > backend, those headers don't get added to `gnus-extra-headers',
>     > and it has its "original value" as noted in *Help*. I don't think
>     > there's any contract that says additional libraries can't
>     > manipulate the value of customization options... is there?
>
> True, but the user might suppose that using -Q ensures that no extra
> libraries are loaded. I would have thought that nndiary constitutes an
> extra library. If it does not and the library is germane to -Q then why
> omit any mention of it from gnus-extra-headers? I have quickly looked at
> NEWS for emacs-25.1 but found nothing relevant.

If I start with "emacs -Q" and a minimal Gnus setup, the nndiary isn't
loaded and its values aren't added to `gnus-extra-headers'. The odd
thing is that in my usual Emacs/Gnus set up, those values _are_ added,
and I don't use nndiary or gnus-diary.el. Hang on, let me force an error
in there and see exactly what's loading it.

Nope, I just restarted Emacs and Gnus, and did some other
Org/Diary/Calendar stuff for good measure, and now nothing has triggered
a load of 'nndiary, and the extra values aren't added.

Obviously something, somewhere, eventually triggers that load in my
setup, but it doesn't seem to happen by default. I'm quite ready to
believe that something is loading 'nndiary when it doesn't need to, but
so far I don't know what it is.

Maybe you could give it a shot? Delete nndiary.elc, stick a call to
(error) in nndiary.el, and restart everything?

Eric


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-03 18:30     ` gnus-extra-headers Eric Abrahamsen
@ 2021-09-04 14:39       ` Colin Baxter
  2021-09-04 15:15         ` gnus-extra-headers Eric Abrahamsen
  0 siblings, 1 reply; 18+ messages in thread
From: Colin Baxter @ 2021-09-04 14:39 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: ding

>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:

    > Colin Baxter <m43cap@yandex.com> writes:
    >> Hello Eric,
    >>>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
    >> 
    >> > Colin Baxter <m43cap@yandex.com> writes: >> Hello,
    >> >> 
    >> >> If emacs (tested with 27.2 and 28.0.50) is launched with -Q
    >> (or >> gnus-extra-headers has not been set explicitly by the
    >> user) then >> the variable gnus-extra-headers has the value:
    >> >> 
    >> >> gnus-extra-headers is a variable defined in ‘gnus-sum.el’.
    >> Its >> value is (X-Diary-Time-Zone X-Diary-Dow X-Diary-Year >>
    >> X-Diary-Month X-Diary-Dom X-Diary-Hour X-Diary-Minute To Cc >>
    >> Keywords Gcc Newsgroups X-GM-LABELS) Original value was (To Cc >>
    >> Keywords Gcc Newsgroups X-GM-LABELS)
    >> >> 
    >> >> You can customize this variable.
    >> >> 
    >> >> 
    >> >> This variable was introduced, or its default value was
    >> changed, >> in version 25.1 of Emacs.
    >> >> 
    >> >> Documentation: Extra headers to parse.
    >> >> 
    >> >> The X-Diary settings seem to come from nndiary.el, but there
    >> is >> nothing in the doc-string to indicate this.
    >> >> 
    >> >> Is this a bug? Is not the "Original value" of
    >> gnus-extra-headers >> incorrect?
    >> 
    >> > I don't think it's really a bug. If you don't use the nndiary >
    >> backend, those headers don't get added to `gnus-extra-headers', >
    >> and it has its "original value" as noted in *Help*. I don't think
    >> > there's any contract that says additional libraries can't >
    >> manipulate the value of customization options... is there?
    >> 
    >> True, but the user might suppose that using -Q ensures that no
    >> extra libraries are loaded. I would have thought that nndiary
    >> constitutes an extra library. If it does not and the library is
    >> germane to -Q then why omit any mention of it from
    >> gnus-extra-headers? I have quickly looked at NEWS for emacs-25.1
    >> but found nothing relevant.

    > If I start with "emacs -Q" and a minimal Gnus setup, the nndiary
    > isn't loaded and its values aren't added to
    > `gnus-extra-headers'. The odd thing is that in my usual Emacs/Gnus
    > set up, those values _are_ added, and I don't use nndiary or
    > gnus-diary.el. Hang on, let me force an error in there and see
    > exactly what's loading it.

    > Nope, I just restarted Emacs and Gnus, and did some other
    > Org/Diary/Calendar stuff for good measure, and now nothing has
    > triggered a load of 'nndiary, and the extra values aren't added.

    > Obviously something, somewhere, eventually triggers that load in
    > my setup, but it doesn't seem to happen by default. I'm quite
    > ready to believe that something is loading 'nndiary when it
    > doesn't need to, but so far I don't know what it is.

    > Maybe you could give it a shot? Delete nndiary.elc, stick a call
    > to (error) in nndiary.el,

How do I modify the file nndiary.el to achieve this?

    > and restart everything?

What I do know is that if nndiary is not present (.el) and (.elc) then
gnus-extra-headers becomes (To Cc Keywords Gcc Newsgroups X-GM-LABELS).

Best wishes,


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-04 14:39       ` gnus-extra-headers Colin Baxter
@ 2021-09-04 15:15         ` Eric Abrahamsen
  2021-09-05  8:36           ` gnus-extra-headers Colin Baxter
  0 siblings, 1 reply; 18+ messages in thread
From: Eric Abrahamsen @ 2021-09-04 15:15 UTC (permalink / raw)
  To: Colin Baxter; +Cc: ding

Colin Baxter <m43cap@yandex.com> writes:

>>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>     > Colin Baxter <m43cap@yandex.com> writes:
>     >> Hello Eric,
>     >>>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>     >> 
>     >> > Colin Baxter <m43cap@yandex.com> writes: >> Hello,
>     >> >> 
>     >> >> If emacs (tested with 27.2 and 28.0.50) is launched with -Q
>     >> (or >> gnus-extra-headers has not been set explicitly by the
>     >> user) then >> the variable gnus-extra-headers has the value:
>     >> >> 
>     >> >> gnus-extra-headers is a variable defined in ‘gnus-sum.el’.
>     >> Its >> value is (X-Diary-Time-Zone X-Diary-Dow X-Diary-Year >>
>     >> X-Diary-Month X-Diary-Dom X-Diary-Hour X-Diary-Minute To Cc >>
>     >> Keywords Gcc Newsgroups X-GM-LABELS) Original value was (To Cc >>
>     >> Keywords Gcc Newsgroups X-GM-LABELS)
>     >> >> 
>     >> >> You can customize this variable.
>     >> >> 
>     >> >> 
>     >> >> This variable was introduced, or its default value was
>     >> changed, >> in version 25.1 of Emacs.
>     >> >> 
>     >> >> Documentation: Extra headers to parse.
>     >> >> 
>     >> >> The X-Diary settings seem to come from nndiary.el, but there
>     >> is >> nothing in the doc-string to indicate this.
>     >> >> 
>     >> >> Is this a bug? Is not the "Original value" of
>     >> gnus-extra-headers >> incorrect?
>     >> 
>     >> > I don't think it's really a bug. If you don't use the nndiary >
>     >> backend, those headers don't get added to `gnus-extra-headers', >
>     >> and it has its "original value" as noted in *Help*. I don't think
>     >> > there's any contract that says additional libraries can't >
>     >> manipulate the value of customization options... is there?
>     >> 
>     >> True, but the user might suppose that using -Q ensures that no
>     >> extra libraries are loaded. I would have thought that nndiary
>     >> constitutes an extra library. If it does not and the library is
>     >> germane to -Q then why omit any mention of it from
>     >> gnus-extra-headers? I have quickly looked at NEWS for emacs-25.1
>     >> but found nothing relevant.
>
>     > If I start with "emacs -Q" and a minimal Gnus setup, the nndiary
>     > isn't loaded and its values aren't added to
>     > `gnus-extra-headers'. The odd thing is that in my usual Emacs/Gnus
>     > set up, those values _are_ added, and I don't use nndiary or
>     > gnus-diary.el. Hang on, let me force an error in there and see
>     > exactly what's loading it.
>
>     > Nope, I just restarted Emacs and Gnus, and did some other
>     > Org/Diary/Calendar stuff for good measure, and now nothing has
>     > triggered a load of 'nndiary, and the extra values aren't added.
>
>     > Obviously something, somewhere, eventually triggers that load in
>     > my setup, but it doesn't seem to happen by default. I'm quite
>     > ready to believe that something is loading 'nndiary when it
>     > doesn't need to, but so far I don't know what it is.
>
>     > Maybe you could give it a shot? Delete nndiary.elc, stick a call
>     > to (error) in nndiary.el,
>
> How do I modify the file nndiary.el to achieve this?

Sorry, I didn't ask how you're using Emacs, and assumed you were running
from the source tree, or had access to it. If you do have access to
nndiary.el, just edit it regularly in Emacs, and add a line like:

(error)

anywhere in the file, maybe at the top. You'll need to remove
nndiary.elc, otherwise that will get loaded instead of the *el file.

>     > and restart everything?
>
> What I do know is that if nndiary is not present (.el) and (.elc) then
> gnus-extra-headers becomes (To Cc Keywords Gcc Newsgroups X-GM-LABELS).

If those files aren't present, I guess I would have expected you to see
an error, as whatever is loading it fails to find it.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-04 15:15         ` gnus-extra-headers Eric Abrahamsen
@ 2021-09-05  8:36           ` Colin Baxter
  2021-09-06  3:31             ` gnus-extra-headers Eric Abrahamsen
  0 siblings, 1 reply; 18+ messages in thread
From: Colin Baxter @ 2021-09-05  8:36 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: ding

>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:

    > Colin Baxter <m43cap@yandex.com> writes:
    >>>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
    >> 
    >> > Colin Baxter <m43cap@yandex.com> writes: >> Hello Eric, >>>>>>>
    >> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
    >> >> 
    >> >> > Colin Baxter <m43cap@yandex.com> writes: >> Hello,
    >> >> >> 
    >> >> >> If emacs (tested with 27.2 and 28.0.50) is launched with -Q
    >> >> (or >> gnus-extra-headers has not been set explicitly by the
    >> >> user) then >> the variable gnus-extra-headers has the value:
    >> >> >> 
    >> >> >> gnus-extra-headers is a variable defined in ‘gnus-sum.el’.
    >> >> Its >> value is (X-Diary-Time-Zone X-Diary-Dow X-Diary-Year >>
    >> >> X-Diary-Month X-Diary-Dom X-Diary-Hour X-Diary-Minute To Cc >>
    >> >> Keywords Gcc Newsgroups X-GM-LABELS) Original value was (To Cc
    >> >> >> Keywords Gcc Newsgroups X-GM-LABELS)
    >> >> >> 
    >> >> >> You can customize this variable.
    >> >> >> 
    >> >> >> 
    >> >> >> This variable was introduced, or its default value was >>
    >> changed, >> in version 25.1 of Emacs.
    >> >> >> 
    >> >> >> Documentation: Extra headers to parse.
    >> >> >> 
    >> >> >> The X-Diary settings seem to come from nndiary.el, but
    >> there >> is >> nothing in the doc-string to indicate this.
    >> >> >> 
    >> >> >> Is this a bug? Is not the "Original value" of >>
    >> gnus-extra-headers >> incorrect?
    >> >> 
    >> >> > I don't think it's really a bug. If you don't use the
    >> nndiary > >> backend, those headers don't get added to
    >> `gnus-extra-headers', > >> and it has its "original value" as
    >> noted in *Help*. I don't think >> > there's any contract that
    >> says additional libraries can't > >> manipulate the value of
    >> customization options... is there?
    >> >> 
    >> >> True, but the user might suppose that using -Q ensures that no
    >> >> extra libraries are loaded. I would have thought that nndiary
    >> >> constitutes an extra library. If it does not and the library
    >> is >> germane to -Q then why omit any mention of it from >>
    >> gnus-extra-headers? I have quickly looked at NEWS for emacs-25.1
    >> >> but found nothing relevant.
    >> 
    >> > If I start with "emacs -Q" and a minimal Gnus setup, the
    >> nndiary > isn't loaded and its values aren't added to >
    >> `gnus-extra-headers'. The odd thing is that in my usual
    >> Emacs/Gnus > set up, those values _are_ added, and I don't use
    >> nndiary or > gnus-diary.el. Hang on, let me force an error in
    >> there and see > exactly what's loading it.
    >> 
    >> > Nope, I just restarted Emacs and Gnus, and did some other >
    >> Org/Diary/Calendar stuff for good measure, and now nothing has >
    >> triggered a load of 'nndiary, and the extra values aren't added.
    >> 
    >> > Obviously something, somewhere, eventually triggers that load
    >> in > my setup, but it doesn't seem to happen by default. I'm
    >> quite > ready to believe that something is loading 'nndiary when
    >> it > doesn't need to, but so far I don't know what it is.
    >> 
    >> > Maybe you could give it a shot? Delete nndiary.elc, stick a
    >> call > to (error) in nndiary.el,
    >> 
    >> How do I modify the file nndiary.el to achieve this?

    > Sorry, I didn't ask how you're using Emacs, and assumed you were
    > running from the source tree, or had access to it. If you do have
    > access to nndiary.el, just edit it regularly in Emacs, and add a
    > line like:

    > (error)

    > anywhere in the file, maybe at the top. You'll need to remove
    > nndiary.elc, otherwise that will get loaded instead of the *el
    > file.

    >> > and restart everything?
    >> 
    >> What I do know is that if nndiary is not present (.el) and (.elc)
    >> then gnus-extra-headers becomes (To Cc Keywords Gcc Newsgroups
    >> X-GM-LABELS).

    > If those files aren't present, I guess I would have expected you
    > to see an error, as whatever is loading it fails to find it.

Some progress I think. I inserted (error) at various points in
nndiary.el and got

--8<---------------cut here---------------start------------->8---
gnus-extra-headers is a variable defined in ‘gnus-sum.el’.

Its value is (To Cc Keywords Gcc Newsgroups X-GM-LABELS)

  You can customize this variable.
  This variable was introduced, or its default value was changed, in
  version 25.1 of Emacs.
--8<---------------cut here---------------start------------->8---

This was the case until line 1559. At line 1565, the value changed to

--8<---------------cut here---------------end--------------->8---
gnus-extra-headers is a variable defined in ‘gnus-sum.el’.

Its value is
(X-Diary-Time-Zone X-Diary-Dow X-Diary-Year X-Diary-Month X-Diary-Dom X-Diary-Hour X-Diary-Minute To Cc Keywords Gcc Newsgroups X-GM-LABELS)
Original value was
(To Cc Keywords Gcc Newsgroups X-GM-LABELS)
--8<---------------cut here---------------end--------------->8---

At line 1563, is (add-to-list 'gnus-extra-headers header), which would
appear to be the source of issue. If I comment out  1563 then
gnus-extra-headers reverts back to 

--8<---------------cut here---------------end--------------->8---
gnus-extra-headers is a variable defined in ‘gnus-sum.el’.

Its value is (To Cc Keywords Gcc Newsgroups X-GM-LABELS)

  You can customize this variable.
  This variable was introduced, or its default value was changed, in
  version 25.1 of Emacs.
--8<---------------cut here---------------end--------------->8---

Why didn't I just grep the directory at the beginning!

Hope this helps.

Best wishes,


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-05  8:36           ` gnus-extra-headers Colin Baxter
@ 2021-09-06  3:31             ` Eric Abrahamsen
  2021-09-06  7:14               ` gnus-extra-headers Colin Baxter
  0 siblings, 1 reply; 18+ messages in thread
From: Eric Abrahamsen @ 2021-09-06  3:31 UTC (permalink / raw)
  To: Colin Baxter; +Cc: ding

Colin Baxter <m43cap@yandex.com> writes:

>>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>     > Colin Baxter <m43cap@yandex.com> writes:
>     >>>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>     >> 
>     >> > Colin Baxter <m43cap@yandex.com> writes: >> Hello Eric, >>>>>>>
>     >> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>     >> >> 
>     >> >> > Colin Baxter <m43cap@yandex.com> writes: >> Hello,
>     >> >> >> 
>     >> >> >> If emacs (tested with 27.2 and 28.0.50) is launched with -Q
>     >> >> (or >> gnus-extra-headers has not been set explicitly by the
>     >> >> user) then >> the variable gnus-extra-headers has the value:
>     >> >> >> 
>     >> >> >> gnus-extra-headers is a variable defined in ‘gnus-sum.el’.
>     >> >> Its >> value is (X-Diary-Time-Zone X-Diary-Dow X-Diary-Year >>
>     >> >> X-Diary-Month X-Diary-Dom X-Diary-Hour X-Diary-Minute To Cc >>
>     >> >> Keywords Gcc Newsgroups X-GM-LABELS) Original value was (To Cc
>     >> >> >> Keywords Gcc Newsgroups X-GM-LABELS)
>     >> >> >> 
>     >> >> >> You can customize this variable.
>     >> >> >> 
>     >> >> >> 
>     >> >> >> This variable was introduced, or its default value was >>
>     >> changed, >> in version 25.1 of Emacs.
>     >> >> >> 
>     >> >> >> Documentation: Extra headers to parse.
>     >> >> >> 
>     >> >> >> The X-Diary settings seem to come from nndiary.el, but
>     >> there >> is >> nothing in the doc-string to indicate this.
>     >> >> >> 
>     >> >> >> Is this a bug? Is not the "Original value" of >>
>     >> gnus-extra-headers >> incorrect?
>     >> >> 
>     >> >> > I don't think it's really a bug. If you don't use the
>     >> nndiary > >> backend, those headers don't get added to
>     >> `gnus-extra-headers', > >> and it has its "original value" as
>     >> noted in *Help*. I don't think >> > there's any contract that
>     >> says additional libraries can't > >> manipulate the value of
>     >> customization options... is there?
>     >> >> 
>     >> >> True, but the user might suppose that using -Q ensures that no
>     >> >> extra libraries are loaded. I would have thought that nndiary
>     >> >> constitutes an extra library. If it does not and the library
>     >> is >> germane to -Q then why omit any mention of it from >>
>     >> gnus-extra-headers? I have quickly looked at NEWS for emacs-25.1
>     >> >> but found nothing relevant.
>     >> 
>     >> > If I start with "emacs -Q" and a minimal Gnus setup, the
>     >> nndiary > isn't loaded and its values aren't added to >
>     >> `gnus-extra-headers'. The odd thing is that in my usual
>     >> Emacs/Gnus > set up, those values _are_ added, and I don't use
>     >> nndiary or > gnus-diary.el. Hang on, let me force an error in
>     >> there and see > exactly what's loading it.
>     >> 
>     >> > Nope, I just restarted Emacs and Gnus, and did some other >
>     >> Org/Diary/Calendar stuff for good measure, and now nothing has >
>     >> triggered a load of 'nndiary, and the extra values aren't added.
>     >> 
>     >> > Obviously something, somewhere, eventually triggers that load
>     >> in > my setup, but it doesn't seem to happen by default. I'm
>     >> quite > ready to believe that something is loading 'nndiary when
>     >> it > doesn't need to, but so far I don't know what it is.
>     >> 
>     >> > Maybe you could give it a shot? Delete nndiary.elc, stick a
>     >> call > to (error) in nndiary.el,
>     >> 
>     >> How do I modify the file nndiary.el to achieve this?
>
>     > Sorry, I didn't ask how you're using Emacs, and assumed you were
>     > running from the source tree, or had access to it. If you do have
>     > access to nndiary.el, just edit it regularly in Emacs, and add a
>     > line like:
>
>     > (error)
>
>     > anywhere in the file, maybe at the top. You'll need to remove
>     > nndiary.elc, otherwise that will get loaded instead of the *el
>     > file.
>
>     >> > and restart everything?
>     >> 
>     >> What I do know is that if nndiary is not present (.el) and (.elc)
>     >> then gnus-extra-headers becomes (To Cc Keywords Gcc Newsgroups
>     >> X-GM-LABELS).
>
>     > If those files aren't present, I guess I would have expected you
>     > to see an error, as whatever is loading it fails to find it.
>
> Some progress I think. I inserted (error) at various points in
> nndiary.el and got
>
> gnus-extra-headers is a variable defined in ‘gnus-sum.el’.
>
> Its value is (To Cc Keywords Gcc Newsgroups X-GM-LABELS)
>
>   You can customize this variable.
>   This variable was introduced, or its default value was changed, in
>   version 25.1 of Emacs.
>
>
> This was the case until line 1559. At line 1565, the value changed to
>
> gnus-extra-headers is a variable defined in ‘gnus-sum.el’.
>
> Its value is
> (X-Diary-Time-Zone X-Diary-Dow X-Diary-Year X-Diary-Month X-Diary-Dom X-Diary-Hour X-Diary-Minute To Cc Keywords Gcc Newsgroups X-GM-LABELS)
> Original value was
> (To Cc Keywords Gcc Newsgroups X-GM-LABELS)
>
>
> At line 1563, is (add-to-list 'gnus-extra-headers header), which would
> appear to be the source of issue. If I comment out  1563 then
> gnus-extra-headers reverts back to 

I'm sorry I wasn't entirely clear here: that line was definitely the
source of the behavior, the question is _why_ is the file getting loaded
at all, if you aren't using an 'nndiary backend? I wanted you to add a
(error) line to nndiary.el so that, at the time it was loaded, we'd get
a backtrace: the backtrace will show what functions were being called
right before the load, and hopefully that will answer the question of
why the file's getting loaded at all.

Did you see a backtrace?


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-06  3:31             ` gnus-extra-headers Eric Abrahamsen
@ 2021-09-06  7:14               ` Colin Baxter
  2021-09-06  8:37                 ` gnus-extra-headers Colin Baxter
  0 siblings, 1 reply; 18+ messages in thread
From: Colin Baxter @ 2021-09-06  7:14 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: ding

>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:

    > Colin Baxter <m43cap@yandex.com> writes:
    >>>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
    >> 
    >> > Colin Baxter <m43cap@yandex.com> writes: >>>>>>> Eric
    >> Abrahamsen <eric@ericabrahamsen.net> writes:
    >> >> 
    >> >> > Colin Baxter <m43cap@yandex.com> writes: >> Hello Eric,
    >> >>>>>>> >> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
    >> >> >> 
    >> >> >> > Colin Baxter <m43cap@yandex.com> writes: >> Hello,
    >> >> >> >> 
    >> >> >> >> If emacs (tested with 27.2 and 28.0.50) is launched with
    >> -Q >> >> (or >> gnus-extra-headers has not been set explicitly by
    >> the >> >> user) then >> the variable gnus-extra-headers has the
    >> value:
    >> >> >> >> 
    >> >> >> >> gnus-extra-headers is a variable defined in
    >> ‘gnus-sum.el’.  >> >> Its >> value is (X-Diary-Time-Zone
    >> X-Diary-Dow X-Diary-Year >> >> >> X-Diary-Month X-Diary-Dom
    >> X-Diary-Hour X-Diary-Minute To Cc >> >> >> Keywords Gcc
    >> Newsgroups X-GM-LABELS) Original value was (To Cc >> >> >>
    >> Keywords Gcc Newsgroups X-GM-LABELS)
    >> >> >> >> 
    >> >> >> >> You can customize this variable.
    >> >> >> >> 
    >> >> >> >> 
    >> >> >> >> This variable was introduced, or its default value was
    >> >> >> changed, >> in version 25.1 of Emacs.
    >> >> >> >> 
    >> >> >> >> Documentation: Extra headers to parse.
    >> >> >> >> 
    >> >> >> >> The X-Diary settings seem to come from nndiary.el, but
    >> >> there >> is >> nothing in the doc-string to indicate this.
    >> >> >> >> 
    >> >> >> >> Is this a bug? Is not the "Original value" of >> >>
    >> gnus-extra-headers >> incorrect?
    >> >> >> 
    >> >> >> > I don't think it's really a bug. If you don't use the >>
    >> nndiary > >> backend, those headers don't get added to >>
    >> `gnus-extra-headers', > >> and it has its "original value" as >>
    >> noted in *Help*. I don't think >> > there's any contract that >>
    >> says additional libraries can't > >> manipulate the value of >>
    >> customization options... is there?
    >> >> >> 
    >> >> >> True, but the user might suppose that using -Q ensures that
    >> no >> >> extra libraries are loaded. I would have thought that
    >> nndiary >> >> constitutes an extra library. If it does not and
    >> the library >> is >> germane to -Q then why omit any mention of
    >> it from >> >> gnus-extra-headers? I have quickly looked at NEWS
    >> for emacs-25.1 >> >> but found nothing relevant.
    >> >> 
    >> >> > If I start with "emacs -Q" and a minimal Gnus setup, the >>
    >> nndiary > isn't loaded and its values aren't added to > >>
    >> `gnus-extra-headers'. The odd thing is that in my usual >>
    >> Emacs/Gnus > set up, those values _are_ added, and I don't use >>
    >> nndiary or > gnus-diary.el. Hang on, let me force an error in >>
    >> there and see > exactly what's loading it.
    >> >> 
    >> >> > Nope, I just restarted Emacs and Gnus, and did some other >
    >> >> Org/Diary/Calendar stuff for good measure, and now nothing has
    >> > >> triggered a load of 'nndiary, and the extra values aren't
    >> added.
    >> >> 
    >> >> > Obviously something, somewhere, eventually triggers that
    >> load >> in > my setup, but it doesn't seem to happen by
    >> default. I'm >> quite > ready to believe that something is
    >> loading 'nndiary when >> it > doesn't need to, but so far I don't
    >> know what it is.
    >> >> 
    >> >> > Maybe you could give it a shot? Delete nndiary.elc, stick a
    >> >> call > to (error) in nndiary.el,
    >> >> 
    >> >> How do I modify the file nndiary.el to achieve this?
    >> 
    >> > Sorry, I didn't ask how you're using Emacs, and assumed you
    >> were > running from the source tree, or had access to it. If you
    >> do have > access to nndiary.el, just edit it regularly in Emacs,
    >> and add a > line like:
    >> 
    >> > (error)
    >> 
    >> > anywhere in the file, maybe at the top. You'll need to remove >
    >> nndiary.elc, otherwise that will get loaded instead of the *el >
    >> file.
    >> 
    >> >> > and restart everything?
    >> >> 
    >> >> What I do know is that if nndiary is not present (.el) and
    >> (.elc) >> then gnus-extra-headers becomes (To Cc Keywords Gcc
    >> Newsgroups >> X-GM-LABELS).
    >> 
    >> > If those files aren't present, I guess I would have expected
    >> you > to see an error, as whatever is loading it fails to find
    >> it.
    >> 
    >> Some progress I think. I inserted (error) at various points in
    >> nndiary.el and got
    >> 
    >> gnus-extra-headers is a variable defined in ‘gnus-sum.el’.
    >> 
    >> Its value is (To Cc Keywords Gcc Newsgroups X-GM-LABELS)
    >> 
    >> You can customize this variable.  This variable was introduced,
    >> or its default value was changed, in version 25.1 of Emacs.
    >> 
    >> 
    >> This was the case until line 1559. At line 1565, the value
    >> changed to
    >> 
    >> gnus-extra-headers is a variable defined in ‘gnus-sum.el’.
    >> 
    >> Its value is (X-Diary-Time-Zone X-Diary-Dow X-Diary-Year
    >> X-Diary-Month X-Diary-Dom X-Diary-Hour X-Diary-Minute To Cc
    >> Keywords Gcc Newsgroups X-GM-LABELS) Original value was (To Cc
    >> Keywords Gcc Newsgroups X-GM-LABELS)
    >> 
    >> 
    >> At line 1563, is (add-to-list 'gnus-extra-headers header), which
    >> would appear to be the source of issue. If I comment out 1563
    >> then gnus-extra-headers reverts back to

    > I'm sorry I wasn't entirely clear here: that line was definitely
    > the source of the behavior, the question is _why_ is the file
    > getting loaded at all, if you aren't using an 'nndiary backend? I
    > wanted you to add a (error) line to nndiary.el so that, at the
    > time it was loaded, we'd get a backtrace: the backtrace will show
    > what functions were being called right before the load, and
    > hopefully that will answer the question of why the file's getting
    > loaded at all.

    > Did you see a backtrace?

No. No error or backtrace seen; just different values of the variable
depending on whether (add-to-list 'gnus-extra-headers header) is
operative or not.

I suppose it isn't an error but an inconsistency with the stated
"Original value" (To Cc Keywords Gcc Newsgroups X-GM-LABELS) of the
gnus-extra-headers variable. The "Original value" gets changed by
nndiary but the user is unaware of this and perhaps thinks, as I did,
that their setup is the culprit. It comes as a surprise to discover
"emacs -Q" leads to the same value of gnus-extra-headers.

After emacs -Q, I looked at the load history 'C-h v load-history' and
nndiary does not appear. The only gnus defuns loaded are
gnus-batch-kill and gnus-set-sorted-intersection. Significant?

I am sorry to be unhelpful.

Best wishes,

Colin.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-06  7:14               ` gnus-extra-headers Colin Baxter
@ 2021-09-06  8:37                 ` Colin Baxter
  2021-09-06 16:15                   ` gnus-extra-headers Eric Abrahamsen
  0 siblings, 1 reply; 18+ messages in thread
From: Colin Baxter @ 2021-09-06  8:37 UTC (permalink / raw)
  To: ding


1.  Remove all ~/.gnus.el and related files from system.
2.  emacs-28.0.50 -Q <RET>
3.  C-h load-history <RET>
4.  Search for loaded gnus libraries.
5.  2 matches for "gnus" in buffer: *Help*
    3994:  (defun . gnus-batch-kill)
    3995:  (defun . gnus-set-sorted-intersection)
    No nndiary loaded.
6.  C-h gnus-extra-headers <RET>
7.  (X-Diary-Time-Zone X-Diary-Dow X-Diary-Year X-Diary-Month X-Diary-Dom
    X-Diary-Hour X-Diary-Minute To Cc Keywords Gcc Newsgroups X-GM-LABELS) 
    Original value was 
    (To Cc Keywords Gcc Newsgroups X-GM-LABELS)
8.  C-h load-history <RET>
9.  Search for loaded gnus libraries.
10. 4874 matches in 3654 lines for "gnus" in buffer: *Help*
    94 matches in 65 lines for "nndiary" in buffer: *Help*


It appears that finding the value of gnus-extra-headers by means of C-h
loads various gnus and nndiary libraries. We cannot find the "original
value" of gnus-extra-headers because we cannot avoid loading nndiary
libraries.

Is this expected?

Best wishes,






^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-06  8:37                 ` gnus-extra-headers Colin Baxter
@ 2021-09-06 16:15                   ` Eric Abrahamsen
  2021-09-06 16:29                     ` gnus-extra-headers Colin Baxter
  2021-09-06 17:16                     ` gnus-extra-headers Stephen Berman
  0 siblings, 2 replies; 18+ messages in thread
From: Eric Abrahamsen @ 2021-09-06 16:15 UTC (permalink / raw)
  To: Colin Baxter; +Cc: ding

Colin Baxter <m43cap@yandex.com> writes:

> 1.  Remove all ~/.gnus.el and related files from system.
> 2.  emacs-28.0.50 -Q <RET>
> 3.  C-h load-history <RET>
> 4.  Search for loaded gnus libraries.
> 5.  2 matches for "gnus" in buffer: *Help*
>     3994:  (defun . gnus-batch-kill)
>     3995:  (defun . gnus-set-sorted-intersection)
>     No nndiary loaded.
> 6.  C-h gnus-extra-headers <RET>
> 7.  (X-Diary-Time-Zone X-Diary-Dow X-Diary-Year X-Diary-Month X-Diary-Dom
>     X-Diary-Hour X-Diary-Minute To Cc Keywords Gcc Newsgroups X-GM-LABELS) 
>     Original value was 
>     (To Cc Keywords Gcc Newsgroups X-GM-LABELS)
> 8.  C-h load-history <RET>
> 9.  Search for loaded gnus libraries.
> 10. 4874 matches in 3654 lines for "gnus" in buffer: *Help*
>     94 matches in 65 lines for "nndiary" in buffer: *Help*
>
>
> It appears that finding the value of gnus-extra-headers by means of C-h
> loads various gnus and nndiary libraries. We cannot find the "original
> value" of gnus-extra-headers because we cannot avoid loading nndiary
> libraries.
>
> Is this expected?

No, none of that is expected, and it's not what I see here. Doing C-h v
gnus-extra-headers does load a bunch of Gnus files, but not nndiary, and
the value of the option doesn't change.

And the fact that putting a call to (error) (actually, it should have
been called with a string argument, but the effect is the same) in
nndiary.el doesn't actually raise an error and give you a traceback
means that you're not loading that file at all. Are there are multiple
Emacs installations on your machine?


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-06 16:15                   ` gnus-extra-headers Eric Abrahamsen
@ 2021-09-06 16:29                     ` Colin Baxter
  2021-09-06 17:39                       ` gnus-extra-headers Eric Abrahamsen
  2021-09-06 17:16                     ` gnus-extra-headers Stephen Berman
  1 sibling, 1 reply; 18+ messages in thread
From: Colin Baxter @ 2021-09-06 16:29 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: ding

>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:

    > Colin Baxter <m43cap@yandex.com> writes:
    >> 1.  Remove all ~/.gnus.el and related files from system.  2.
    >> emacs-28.0.50 -Q <RET> 3.  C-h load-history <RET> 4.  Search for
    >> loaded gnus libraries.  5.  2 matches for "gnus" in buffer:
    >> *Help* 3994: (defun . gnus-batch-kill) 3995: (defun
    >> . gnus-set-sorted-intersection) No nndiary loaded.  6.  C-h
    >> gnus-extra-headers <RET> 7.  (X-Diary-Time-Zone X-Diary-Dow
    >> X-Diary-Year X-Diary-Month X-Diary-Dom X-Diary-Hour
    >> X-Diary-Minute To Cc Keywords Gcc Newsgroups X-GM-LABELS)
    >> Original value was (To Cc Keywords Gcc Newsgroups X-GM-LABELS) 8.
    >> C-h load-history <RET> 9.  Search for loaded gnus libraries.
    >> 10. 4874 matches in 3654 lines for "gnus" in buffer: *Help* 94
    >> matches in 65 lines for "nndiary" in buffer: *Help*
    >> 
    >> 
    >> It appears that finding the value of gnus-extra-headers by means
    >> of C-h loads various gnus and nndiary libraries. We cannot find
    >> the "original value" of gnus-extra-headers because we cannot
    >> avoid loading nndiary libraries.
    >> 
    >> Is this expected?

    > No, none of that is expected, and it's not what I see here. Doing
    > C-h v gnus-extra-headers does load a bunch of Gnus files, but not
    > nndiary, and the value of the option doesn't change.

    > And the fact that putting a call to (error) (actually, it should
    > have been called with a string argument, but the effect is the
    > same) in nndiary.el doesn't actually raise an error and give you a
    > traceback means that you're not loading that file at all. Are
    > there are multiple Emacs installations on your machine?

Yes, all installed locally under $HOME:

1. ~/local/bin/emacs-27.1 (GTK)
2. ~/local/bin/emacs-27.2 (GTK)
3. ~/local/opt/emacs-lucid/bin/emacs-27.1 (lucid)
4. ~/local/opt/emacs-lucid/bin/emacs-27.2 (lucid)
5. ~/git/emacs/src/emacs (GTK)

 


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-06 16:15                   ` gnus-extra-headers Eric Abrahamsen
  2021-09-06 16:29                     ` gnus-extra-headers Colin Baxter
@ 2021-09-06 17:16                     ` Stephen Berman
  2021-09-06 18:40                       ` gnus-extra-headers Eric Abrahamsen
  1 sibling, 1 reply; 18+ messages in thread
From: Stephen Berman @ 2021-09-06 17:16 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: Colin Baxter, ding

[-- Attachment #1: Type: text/plain, Size: 2144 bytes --]

On Mon, 06 Sep 2021 09:15:24 -0700 Eric Abrahamsen <eric@ericabrahamsen.net> wrote:

> Colin Baxter <m43cap@yandex.com> writes:
>
>> 1.  Remove all ~/.gnus.el and related files from system.
>> 2.  emacs-28.0.50 -Q <RET>
>> 3.  C-h load-history <RET>
>> 4.  Search for loaded gnus libraries.
>> 5.  2 matches for "gnus" in buffer: *Help*
>>     3994:  (defun . gnus-batch-kill)
>>     3995:  (defun . gnus-set-sorted-intersection)
>>     No nndiary loaded.
>> 6.  C-h gnus-extra-headers <RET>
>> 7.  (X-Diary-Time-Zone X-Diary-Dow X-Diary-Year X-Diary-Month X-Diary-Dom
>>     X-Diary-Hour X-Diary-Minute To Cc Keywords Gcc Newsgroups X-GM-LABELS)
>>     Original value was
>>     (To Cc Keywords Gcc Newsgroups X-GM-LABELS)
>> 8.  C-h load-history <RET>
>> 9.  Search for loaded gnus libraries.
>> 10. 4874 matches in 3654 lines for "gnus" in buffer: *Help*
>>     94 matches in 65 lines for "nndiary" in buffer: *Help*
>>
>>
>> It appears that finding the value of gnus-extra-headers by means of C-h
>> loads various gnus and nndiary libraries. We cannot find the "original
>> value" of gnus-extra-headers because we cannot avoid loading nndiary
>> libraries.
>>
>> Is this expected?
>
> No, none of that is expected, and it's not what I see here. Doing C-h v
> gnus-extra-headers does load a bunch of Gnus files, but not nndiary, and
> the value of the option doesn't change.

I can reproduce what Colin reports.  When I start Emacs from master with
-Q and do `C-h v gnus-extra-headers', the value includes the X-Diary-*
headers.

> And the fact that putting a call to (error) (actually, it should have
> been called with a string argument, but the effect is the same) in
> nndiary.el doesn't actually raise an error and give you a traceback
> means that you're not loading that file at all.

But here I do get an error by inserting `(error "nndiary loaded")' at
the end of nndiary.el, and with debug-on-error enabled, I get the
attached backtrace, which indicates that the file is loaded as a
consequence of `describe-variable' invoking completion on elisp library
prefixes.

Steve Berman


[-- Attachment #2: backtrace --]
[-- Type: application/octet-stream, Size: 5255 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-06 16:29                     ` gnus-extra-headers Colin Baxter
@ 2021-09-06 17:39                       ` Eric Abrahamsen
  2021-09-06 19:33                         ` gnus-extra-headers Colin Baxter
  0 siblings, 1 reply; 18+ messages in thread
From: Eric Abrahamsen @ 2021-09-06 17:39 UTC (permalink / raw)
  To: Colin Baxter; +Cc: ding

Colin Baxter <m43cap@yandex.com> writes:

>>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>

[...]

>     > No, none of that is expected, and it's not what I see here. Doing
>     > C-h v gnus-extra-headers does load a bunch of Gnus files, but not
>     > nndiary, and the value of the option doesn't change.
>
>     > And the fact that putting a call to (error) (actually, it should
>     > have been called with a string argument, but the effect is the
>     > same) in nndiary.el doesn't actually raise an error and give you a
>     > traceback means that you're not loading that file at all. Are
>     > there are multiple Emacs installations on your machine?
>
> Yes, all installed locally under $HOME:
>
> 1. ~/local/bin/emacs-27.1 (GTK)
> 2. ~/local/bin/emacs-27.2 (GTK)
> 3. ~/local/opt/emacs-lucid/bin/emacs-27.1 (lucid)
> 4. ~/local/opt/emacs-lucid/bin/emacs-27.2 (lucid)
> 5. ~/git/emacs/src/emacs (GTK)

Okay, so try:

1. emacs -Q
2. M-: (locate-library "nndiary")
3. Wherever that file is, delete the nndiary.elc file next to it
4. Visit the nndiary.el file itself.
5. At the top of the file, insert the line (error "Don't load me")
6. Save the file, exit emacs.
7. emacs -Q
8. C-h v gnus-extra-headers
9. Post resulting traceback



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-06 17:16                     ` gnus-extra-headers Stephen Berman
@ 2021-09-06 18:40                       ` Eric Abrahamsen
  2021-09-07  5:53                         ` gnus-extra-headers Colin Baxter
  0 siblings, 1 reply; 18+ messages in thread
From: Eric Abrahamsen @ 2021-09-06 18:40 UTC (permalink / raw)
  To: Stephen Berman; +Cc: Colin Baxter, ding


On 09/06/21 19:16 PM, Stephen Berman wrote:
> On Mon, 06 Sep 2021 09:15:24 -0700 Eric Abrahamsen <eric@ericabrahamsen.net> wrote:
>
>> Colin Baxter <m43cap@yandex.com> writes:
>>
>>> 1.  Remove all ~/.gnus.el and related files from system.
>>> 2.  emacs-28.0.50 -Q <RET>
>>> 3.  C-h load-history <RET>
>>> 4.  Search for loaded gnus libraries.
>>> 5.  2 matches for "gnus" in buffer: *Help*
>>>     3994:  (defun . gnus-batch-kill)
>>>     3995:  (defun . gnus-set-sorted-intersection)
>>>     No nndiary loaded.
>>> 6.  C-h gnus-extra-headers <RET>
>>> 7.  (X-Diary-Time-Zone X-Diary-Dow X-Diary-Year X-Diary-Month X-Diary-Dom
>>>     X-Diary-Hour X-Diary-Minute To Cc Keywords Gcc Newsgroups X-GM-LABELS)
>>>     Original value was
>>>     (To Cc Keywords Gcc Newsgroups X-GM-LABELS)
>>> 8.  C-h load-history <RET>
>>> 9.  Search for loaded gnus libraries.
>>> 10. 4874 matches in 3654 lines for "gnus" in buffer: *Help*
>>>     94 matches in 65 lines for "nndiary" in buffer: *Help*
>>>
>>>
>>> It appears that finding the value of gnus-extra-headers by means of C-h
>>> loads various gnus and nndiary libraries. We cannot find the "original
>>> value" of gnus-extra-headers because we cannot avoid loading nndiary
>>> libraries.
>>>
>>> Is this expected?
>>
>> No, none of that is expected, and it's not what I see here. Doing C-h v
>> gnus-extra-headers does load a bunch of Gnus files, but not nndiary, and
>> the value of the option doesn't change.
>
> I can reproduce what Colin reports.  When I start Emacs from master with
> -Q and do `C-h v gnus-extra-headers', the value includes the X-Diary-*
> headers.
>
>> And the fact that putting a call to (error) (actually, it should have
>> been called with a string argument, but the effect is the same) in
>> nndiary.el doesn't actually raise an error and give you a traceback
>> means that you're not loading that file at all.
>
> But here I do get an error by inserting `(error "nndiary loaded")' at
> the end of nndiary.el, and with debug-on-error enabled, I get the
> attached backtrace, which indicates that the file is loaded as a
> consequence of `describe-variable' invoking completion on elisp library
> prefixes.
>
> Steve Berman
>
> Debugger entered--Lisp error: (error "nndiary loaded")
>   signal(error ("nndiary loaded"))
>   error("nndiary loaded")
>   eval-buffer(#<buffer  *load*-113627> nil "/home/steve/src/emacs/emacs-master/lisp/gnus/nndia..." nil t)  ; Reading at buffer position 55496
>   load-with-code-conversion("/home/steve/src/emacs/emacs-master/lisp/gnus/nndia..." "/home/steve/src/emacs/emacs-master/lisp/gnus/nndia..." nil t)
>   require(nndiary)
>   eval-buffer(#<buffer  *load*> nil "/home/steve/src/emacs/emacs-master/lisp/gnus/gnus-..." nil t)  ; Reading at buffer position 1207
>   load-with-code-conversion("/home/steve/src/emacs/emacs-master/lisp/gnus/gnus-..." "/home/steve/src/emacs/emacs-master/lisp/gnus/gnus-..." t t)
>   load("gnus-diary" noerror nomessage)
>   help--load-prefixes((("gnus-" "nnselect" "nnheader" "gnus-win" "gnus-vm" "gnus-uu" "gnus-util" "gnus-undo" "gnus-topic" "gnus-sum" "gnus-start" "gnus-srvr" "gnus-spec" "gnus-score" "gnus-salt" "gnus-registry" "gnus-range" "gnus-msg" "gnus-mh" "gnus-logic" "gnus-kill" "gnus-int" "gnus-html" "gnus-group" "gnus-fun" "gnus-dup" "gnus-draft" "gnus-diary" "gnus-demon" "gnus-cus" "gnus-cite" "gnus-cache" "gnus-async" "gnus-art" "gnus-agent" "gnus" "deuglify")))
>   help--symbol-completion-table("gnus-extra-" #f(compiled-function (vv) #<bytecode 0x5932c117145b3a>) metadata)
>   completion-metadata("gnus-extra-" help--symbol-completion-table #f(compiled-function (vv) #<bytecode 0x5932c117145b3a>))
>   completion--field-metadata(20)
>   completion--do-completion(20 31)
>   completion--in-region-1(20 31)
>   #f(compiled-function (start end collection predicate) #<bytecode 0x8376d053da1c3d0>)(20 31 help--symbol-completion-table #f(compiled-function (vv) #<bytecode 0x5932c117145b3a>))
>   apply(#f(compiled-function (start end collection predicate) #<bytecode 0x8376d053da1c3d0>) (20 31 help--symbol-completion-table #f(compiled-function (vv) #<bytecode 0x5932c117145b3a>)))
>   #f(compiled-function (funs global args) #<bytecode -0x731a92f7266cda2>)(nil nil (20 31 help--symbol-completion-table #f(compiled-function (vv) #<bytecode 0x5932c117145b3a>)))
>   completion--in-region(20 31 help--symbol-completion-table #f(compiled-function (vv) #<bytecode 0x5932c117145b3a>))
>   completion-in-region(20 31 help--symbol-completion-table #f(compiled-function (vv) #<bytecode 0x5932c117145b3a>))
>   minibuffer-complete()

Awesome, this was the information we needed, thanks. I did forget that
`debug-on-error' was necessary to get the backtrace, sorry.

So I wasn't seeing the behavior because I hadn't use completion in "C-h
v". Simply completing on a gnus-prefixed symbol definitely shouldn't end
up changing the value of a variable, so I'll push something to fix this
in a bit.

Sorry this took so long to figure out!

Eric


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-06 17:39                       ` gnus-extra-headers Eric Abrahamsen
@ 2021-09-06 19:33                         ` Colin Baxter
  0 siblings, 0 replies; 18+ messages in thread
From: Colin Baxter @ 2021-09-06 19:33 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: ding, stephen.berman

>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:

    > Colin Baxter <m43cap@yandex.com> writes:
    >>>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
    >> 

    > [...]

    >> > No, none of that is expected, and it's not what I see
    >> here. Doing > C-h v gnus-extra-headers does load a bunch of Gnus
    >> files, but not > nndiary, and the value of the option doesn't
    >> change.
    >> 
    >> > And the fact that putting a call to (error) (actually, it
    >> should > have been called with a string argument, but the effect
    >> is the > same) in nndiary.el doesn't actually raise an error and
    >> give you a > traceback means that you're not loading that file at
    >> all. Are > there are multiple Emacs installations on your
    >> machine?
    >> 
    >> Yes, all installed locally under $HOME:
    >> 
    >> 1. ~/local/bin/emacs-27.1 (GTK) 2. ~/local/bin/emacs-27.2 (GTK)
    >> 3. ~/local/opt/emacs-lucid/bin/emacs-27.1 (lucid)
    >> 4. ~/local/opt/emacs-lucid/bin/emacs-27.2 (lucid)
    >> 5. ~/git/emacs/src/emacs (GTK)

    > Okay, so try:

    > 1. emacs -Q 2. M-: (locate-library "nndiary") 3. Wherever that
    > file is, delete the nndiary.elc file next to it 4. Visit the
    > nndiary.el file itself.  5. At the top of the file, insert the
    > line (error "Don't load me") 6. Save the file, exit emacs.
    > 7. emacs -Q 8. C-h v gnus-extra-headers 9. Post resulting
    > traceback

No backtrace, only (To Cc Keywords Gcc Newsgroups X-GM-LABELS) as the
value gnus-extra-headers.

However, if I use Stephen's (error "nndiary loaded") at the end of
nndiary I get an error with the backtrace as:

Debugger entered--Lisp error: (error "nndiary loaded")
  signal(error ("nndiary loaded"))
  error("nndiary loaded")
  eval-buffer(#<buffer  *load*> nil "/home/redknight/git/emacs/lisp/gnus/nndiary.el" nil t)  ; Reading at buffer position 64083
  load-with-code-conversion("/home/redknight/git/emacs/lisp/gnus/nndiary.el" "/home/redknight/git/emacs/lisp/gnus/nndiary.el" nil t)
  require(nndiary)
  byte-code("\300\301!\210\300\302!\210\300\303!\210\304\305\306\307\310\311\312\313&\7\210\314\315\316\317\320DD\321\322\323\312\305\312\324&\11\210\314\325\316\317\326DD\327\322\323..." [require nndiary message gnus-art custom-declare-group gnus-diary nil "Utilities on top of the nndiary back end for Gnus." :version "22.1" :group gnus custom-declare-variable gnus-diary-summary-line-format funcall function #f(compiled-function () #<bytecode 0x15293e5e>) "Summary line format for nndiary groups." :type string gnus-summary-format gnus-diary-time-format #f(compiled-function () #<bytecode 0x1ea38374>) "Time format to display appointments in nndiary sum..." gnus-diary-delay-format-function #f(compiled-function () #<bytecode 0x75ece69>) "Function called to format a diary delay string.\nIt..." (choice (const :tag "english" gnus-diary-delay-format-english) (const :tag "french" gnus-diary-delay-format-french) (symbol :tag "other"))] 10)
  load("gnus-diary" noerror nomessage)
  help--load-prefixes((("gnus-" "nnselect" "nnheader" "gnus-win" "gnus-vm" "gnus-uu" "gnus-util" "gnus-undo" "gnus-topic" "gnus-sum" "gnus-start" "gnus-srvr" "gnus-spec" "gnus-score" "gnus-salt" "gnus-registry" "gnus-range" "gnus-msg" "gnus-mh" "gnus-logic" "gnus-kill" "gnus-int" "gnus-html" "gnus-group" "gnus-fun" "gnus-dup" "gnus-draft" "gnus-diary" "gnus-demon" "gnus-cus" "gnus-cite" "gnus-cache" "gnus-async" "gnus-art" "gnus-agent" "gnus" "deuglify")))
  help--symbol-completion-table("gnus-extra-headers" #f(compiled-function (vv) #<bytecode 0x15cf3ea9>) lambda)
  test-completion("gnus-extra-headers" help--symbol-completion-table #f(compiled-function (vv) #<bytecode 0x15cf3ea9>))
  completion--complete-and-exit(20 38 exit-minibuffer #f(compiled-function () #<bytecode 0x116a377f>))
  completion-complete-and-exit(20 38 exit-minibuffer)
  minibuffer-complete-and-exit()
  funcall-interactively(minibuffer-complete-and-exit)
  call-interactively(minibuffer-complete-and-exit nil nil)
  command-execute(minibuffer-complete-and-exit)
  read-from-minibuffer("Describe variable: " nil (keymap (10 . minibuffer-complete-and-exit) (13 . minibuffer-complete-and-exit) keymap (menu-bar keymap (minibuf "Minibuf" keymap (tab menu-item "Complete" minibuffer-complete :help "Complete as far as possible") (space menu-item "Complete Word" minibuffer-complete-word :help "Complete at most one word") (63 menu-item "List Completions" minibuffer-completion-help :help "Display all possible completions") "Minibuf")) (27 keymap (103 keymap (27 keymap (99 . switch-to-completions))) (118 . switch-to-completions)) (prior . switch-to-completions) (63 . minibuffer-completion-help) (32 . minibuffer-complete-word) (9 . minibuffer-complete) keymap (menu-bar keymap (minibuf "Minibuf" keymap (previous menu-item "Previous History Item" previous-history-element :help "Put previous minibuffer history element in the min...") (next menu-item "Next History Item" next-history-element :help "Put next minibuffer history element in the minibuf...") (isearch-backward menu-item "Isearch History Backward" isearch-backward :help "Incrementally search minibuffer history backward") (isearch-forward menu-item "Isearch History Forward" isearch-forward :help "Incrementally search minibuffer history forward") (return menu-item "Enter" exit-minibuffer :key-sequence "\15" :help "Terminate input and exit minibuffer") (quit menu-item "Quit" abort-recursive-edit :help "Abort input and exit minibuffer") "Minibuf")) (13 . exit-minibuffer) (10 . exit-minibuffer) (7 . abort-minibuffers) (C-tab . file-cache-minibuffer-complete) (9 . self-insert-command) (XF86Back . previous-history-element) (up . previous-line-or-history-element) (prior . previous-history-element) (XF86Forward . next-history-element) (down . next-line-or-history-element) (next . next-history-element) (27 keymap (60 . minibuffer-beginning-of-buffer) (114 . previous-matching-history-element) (115 . next-matching-history-element) (112 . previous-history-element) (110 . next-history-element))) nil nil nil nil)
  completing-read-default("Describe variable: " help--symbol-completion-table #f(compiled-function (vv) #<bytecode 0x15cf3ea9>) t nil nil nil nil)
  completing-read("Describe variable: " help--symbol-completion-table #f(compiled-function (vv) #<bytecode 0x15cf3ea9>) t nil nil nil)
  byte-code("\301 \302p\303\2\30\304\305\306\6\69\205\22\0\6\6\"\307\310\311\6\6\"\302\303\211\6\n9\205&\0\312\6\13!&\7\262\1\211\313\232\2034\0\3\202..." [enable-recursive-minibuffers variable-at-point t nil completing-read format-prompt "Describe variable" help--symbol-completion-table make-closure #f(compiled-function (vv) #<bytecode 0xd8a7806>) symbol-name "" intern] 13)
  call-interactively(describe-variable nil nil)
  command-execute(describe-variable)


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-06 18:40                       ` gnus-extra-headers Eric Abrahamsen
@ 2021-09-07  5:53                         ` Colin Baxter
  2021-09-07 18:56                           ` gnus-extra-headers Eric Abrahamsen
  0 siblings, 1 reply; 18+ messages in thread
From: Colin Baxter @ 2021-09-07  5:53 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: Stephen Berman, ding

>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:

    > On 09/06/21 19:16 PM, Stephen Berman wrote:
    >> On Mon, 06 Sep 2021 09:15:24 -0700 Eric Abrahamsen
    >> <eric@ericabrahamsen.net> wrote:
    >> 
    >>> Colin Baxter <m43cap@yandex.com> writes:
    >>> 
    >>>> 1.  Remove all ~/.gnus.el and related files from system.  2.
    >>>> emacs-28.0.50 -Q <RET> 3.  C-h load-history <RET> 4.  Search
    >>>> for loaded gnus libraries.  5.  2 matches for "gnus" in buffer:
    >>>> *Help* 3994: (defun . gnus-batch-kill) 3995: (defun
    >>>> . gnus-set-sorted-intersection) No nndiary loaded.  6.  C-h
    >>>> gnus-extra-headers <RET> 7.  (X-Diary-Time-Zone X-Diary-Dow
    >>>> X-Diary-Year X-Diary-Month X-Diary-Dom X-Diary-Hour
    >>>> X-Diary-Minute To Cc Keywords Gcc Newsgroups X-GM-LABELS)
    >>>> Original value was (To Cc Keywords Gcc Newsgroups X-GM-LABELS)
    >>>> 8.  C-h load-history <RET> 9.  Search for loaded gnus
    >>>> libraries.  10. 4874 matches in 3654 lines for "gnus" in
    >>>> buffer: *Help* 94 matches in 65 lines for "nndiary" in buffer:
    >>>> *Help*
    >>>> 
    >>>> 
    >>>> It appears that finding the value of gnus-extra-headers by
    >>>> means of C-h loads various gnus and nndiary libraries. We
    >>>> cannot find the "original value" of gnus-extra-headers because
    >>>> we cannot avoid loading nndiary libraries.
    >>>> 
    >>>> Is this expected?
    >>> 
    >>> No, none of that is expected, and it's not what I see
    >>> here. Doing C-h v gnus-extra-headers does load a bunch of Gnus
    >>> files, but not nndiary, and the value of the option doesn't
    >>> change.
    >> 
    >> I can reproduce what Colin reports.  When I start Emacs from
    >> master with -Q and do `C-h v gnus-extra-headers', the value
    >> includes the X-Diary-* headers.
    >> 
    >>> And the fact that putting a call to (error) (actually, it should
    >>> have been called with a string argument, but the effect is the
    >>> same) in nndiary.el doesn't actually raise an error and give you
    >>> a traceback means that you're not loading that file at all.
    >> 
    >> But here I do get an error by inserting `(error "nndiary
    >> loaded")' at the end of nndiary.el, and with debug-on-error
    >> enabled, I get the attached backtrace, which indicates that the
    >> file is loaded as a consequence of `describe-variable' invoking
    >> completion on elisp library prefixes.
    >> 
    >> Steve Berman
    >> 
    >> Debugger entered--Lisp error: (error "nndiary loaded")
    >> signal(error ("nndiary loaded")) error("nndiary loaded")
    >> eval-buffer(#<buffer *load*-113627> nil
    >> "/home/steve/src/emacs/emacs-master/lisp/gnus/nndia..." nil t) ;
    >> Reading at buffer position 55496
    >> load-with-code-conversion("/home/steve/src/emacs/emacs-master/lisp/gnus/nndia..."
    >> "/home/steve/src/emacs/emacs-master/lisp/gnus/nndia..." nil t)
    >> require(nndiary) eval-buffer(#<buffer *load*> nil
    >> "/home/steve/src/emacs/emacs-master/lisp/gnus/gnus-..." nil t) ;
    >> Reading at buffer position 1207
    >> load-with-code-conversion("/home/steve/src/emacs/emacs-master/lisp/gnus/gnus-..."
    >> "/home/steve/src/emacs/emacs-master/lisp/gnus/gnus-..." t t)
    >> load("gnus-diary" noerror nomessage)
    >> help--load-prefixes((("gnus-" "nnselect" "nnheader" "gnus-win"
    >> "gnus-vm" "gnus-uu" "gnus-util" "gnus-undo" "gnus-topic"
    >> "gnus-sum" "gnus-start" "gnus-srvr" "gnus-spec" "gnus-score"
    >> "gnus-salt" "gnus-registry" "gnus-range" "gnus-msg" "gnus-mh"
    >> "gnus-logic" "gnus-kill" "gnus-int" "gnus-html" "gnus-group"
    >> "gnus-fun" "gnus-dup" "gnus-draft" "gnus-diary" "gnus-demon"
    >> "gnus-cus" "gnus-cite" "gnus-cache" "gnus-async" "gnus-art"
    >> "gnus-agent" "gnus" "deuglify")))
    >> help--symbol-completion-table("gnus-extra-" #f(compiled-function
    >> (vv) #<bytecode 0x5932c117145b3a>) metadata)
    >> completion-metadata("gnus-extra-" help--symbol-completion-table
    >> #f(compiled-function (vv) #<bytecode 0x5932c117145b3a>))
    >> completion--field-metadata(20) completion--do-completion(20 31)
    >> completion--in-region-1(20 31) #f(compiled-function (start end
    >> collection predicate) #<bytecode
    0x8376d053da1c3d0> )(20 31 help--symbol-completion-table
    >> #f(compiled-function (vv) #<bytecode 0x5932c117145b3a>))
    >> apply(#f(compiled-function (start end collection predicate)
    >> #<bytecode 0x8376d053da1c3d0>) (20 31
    >> help--symbol-completion-table #f(compiled-function (vv)
    >> #<bytecode 0x5932c117145b3a>))) #f(compiled-function (funs global
    >> args) #<bytecode
    -0x731a92f7266cda2> )(nil nil (20 31 help--symbol-completion-table
    >> #f(compiled-function (vv) #<bytecode 0x5932c117145b3a>)))
    >> completion--in-region(20 31 help--symbol-completion-table
    >> #f(compiled-function (vv) #<bytecode 0x5932c117145b3a>))
    >> completion-in-region(20 31 help--symbol-completion-table
    >> #f(compiled-function (vv) #<bytecode 0x5932c117145b3a>))
    >> minibuffer-complete()

    > Awesome, this was the information we needed, thanks. I did forget
    > that `debug-on-error' was necessary to get the backtrace, sorry.

    > So I wasn't seeing the behavior because I hadn't use completion in
    > "C-h v". Simply completing on a gnus-prefixed symbol definitely
    > shouldn't end up changing the value of a variable, so I'll push
    > something to fix this in a bit.

    > Sorry this took so long to figure out!

    > Eric

I should be the one apologising for being so dim in not following simple
instructions correctly.

Best wishes,

Colin.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: gnus-extra-headers
  2021-09-07  5:53                         ` gnus-extra-headers Colin Baxter
@ 2021-09-07 18:56                           ` Eric Abrahamsen
  0 siblings, 0 replies; 18+ messages in thread
From: Eric Abrahamsen @ 2021-09-07 18:56 UTC (permalink / raw)
  To: Colin Baxter; +Cc: Stephen Berman, ding

Colin Baxter <m43cap@yandex.com> writes:

>>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:

[...]

>     > Sorry this took so long to figure out!
>
>     > Eric
>
> I should be the one apologising for being so dim in not following simple
> instructions correctly.

Not at all :)

I've just pushed a fix to master, nndiary will now only alter those
variables when you actually start up a nndiary server.

Thanks for the report,
Eric


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2021-09-07 20:08 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-01  8:15 gnus-extra-headers Colin Baxter
2021-09-02 22:12 ` gnus-extra-headers Eric Abrahamsen
2021-09-03  5:42   ` gnus-extra-headers Colin Baxter
2021-09-03 18:30     ` gnus-extra-headers Eric Abrahamsen
2021-09-04 14:39       ` gnus-extra-headers Colin Baxter
2021-09-04 15:15         ` gnus-extra-headers Eric Abrahamsen
2021-09-05  8:36           ` gnus-extra-headers Colin Baxter
2021-09-06  3:31             ` gnus-extra-headers Eric Abrahamsen
2021-09-06  7:14               ` gnus-extra-headers Colin Baxter
2021-09-06  8:37                 ` gnus-extra-headers Colin Baxter
2021-09-06 16:15                   ` gnus-extra-headers Eric Abrahamsen
2021-09-06 16:29                     ` gnus-extra-headers Colin Baxter
2021-09-06 17:39                       ` gnus-extra-headers Eric Abrahamsen
2021-09-06 19:33                         ` gnus-extra-headers Colin Baxter
2021-09-06 17:16                     ` gnus-extra-headers Stephen Berman
2021-09-06 18:40                       ` gnus-extra-headers Eric Abrahamsen
2021-09-07  5:53                         ` gnus-extra-headers Colin Baxter
2021-09-07 18:56                           ` gnus-extra-headers Eric Abrahamsen

Gnus development mailing list

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.vuxu.org/ding

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 ding ding/ https://inbox.vuxu.org/ding \
		ding@inbox.vuxu.org
	public-inbox-index ding

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.emacs.gnus.general


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git