Gnus development mailing list
 help / color / mirror / Atom feed
From: Stephen Berman <stephen.berman@gmx.net>
To: Eric Abrahamsen <eric@ericabrahamsen.net>
Cc: Colin Baxter <m43cap@yandex.com>,  ding@gnus.org
Subject: Re: gnus-extra-headers
Date: Mon, 06 Sep 2021 19:16:06 +0200	[thread overview]
Message-ID: <87zgsppquh.fsf@rub.de> (raw)
In-Reply-To: <87lf49istf.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Mon, 06 Sep 2021 09:15:24 -0700")

[-- 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 --]

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()
  funcall-interactively(minibuffer-complete)
  call-interactively(minibuffer-complete nil nil)
  command-execute(minibuffer-complete)
  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 0x5932c117145b3a>) t nil nil nil nil)
  completing-read("Describe variable: " help--symbol-completion-table #f(compiled-function (vv) #<bytecode 0x5932c117145b3a>) 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 0x593ca258f55b3a>) symbol-name "" intern] 13)
  call-interactively(describe-variable nil nil)
  command-execute(describe-variable)

  parent reply	other threads:[~2021-09-07 20:08 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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                     ` Stephen Berman [this message]
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

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=87zgsppquh.fsf@rub.de \
    --to=stephen.berman@gmx.net \
    --cc=ding@gnus.org \
    --cc=eric@ericabrahamsen.net \
    --cc=m43cap@yandex.com \
    /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.
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 NNTP newsgroup(s).