unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* 29.0.50; error evaluating simple.el
@ 2022-06-16 16:51 Andreas Röhler
  2022-06-16 17:30 ` Michael Heerdegen
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Röhler @ 2022-06-16 16:51 UTC (permalink / raw)
  To: Help GNU Emacs

Hi,

when evaluating simple.el of  GNU Emacs 29.0.50 (build 1, 
x86_64-pc-linux-gnu, GTK+ Version 2.24.32, cairo version 1.16.0) of 
2022-06-04

get an error:

put: Wrong type argument: listp, "As a special case, `decoded-time-dst' 
returns an unspecified
value when given a list too short to have a dst element."

No backtrace from Emacs -Q, but from my customized one:

Debugger entered--Lisp error: (wrong-type-argument listp "As a special 
case, `decoded-time-dst' returns an u...")
   append((65 115 32 97 32 115 112 101 99 105 97 108 32 99 97 115 101 44 
32 96 100 101 99 111 100 101 100 45 116 105 109 101 45 100 115 116 39 32 
114 101 116 117 114 110 115 32 97 110 32 117 ...) "As a special case, 
`decoded-time-dst' returns an u...")
   (put 'decoded-time-dst 'function-documentation (append (get 
'decoded-time-dst 'function-documentation) "As a special case, 
`decoded-time-dst' returns an u..."))
   eval-buffer()  ; Reading at buffer position 440765
   funcall-interactively(eval-buffer)
   call-interactively(eval-buffer record nil)
   (prog1 (call-interactively cmd record-flag keys) (if (and (symbolp 
cmd) (get cmd 'byte-obsolete-info) (not (get cmd 
'command-execute-obsolete-warned))) (progn (put cmd 
'command-execute-obsolete-warned t) (message "%s" 
(macroexp--obsolete-warning cmd (get cmd 'byte-obsolete-info) "command")))))
   (cond ((arrayp final) (if record-flag (progn (add-to-history 
'command-history (list 'execute-kbd-macro final prefixarg) nil t))) 
(execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd 
record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) 
(not (get cmd 'command-execute-obsolete-warned))) (progn (put cmd 
'command-execute-obsolete-warned t) (message "%s" 
(macroexp--obsolete-warning cmd (get cmd ...) "command")))))))
   (let ((final cmd)) (while (progn (setq final (indirect-function 
final)) (if (autoloadp final) (setq final (autoload-do-load final 
cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history 
'command-history (list 'execute-kbd-macro final prefixarg) nil t))) 
(execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd 
record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) 
(not (get cmd ...))) (progn (put cmd 'command-execute-obsolete-warned t) 
(message "%s" (macroexp--obsolete-warning cmd ... "command"))))))))
   (if (and (symbolp cmd) (get cmd 'disabled) (or (and (setq query (and 
(consp (get cmd ...)) (eq (car ...) 'query))) (not 
(command-execute--query cmd))) (and (not query) 
disabled-command-function))) (if (not query) (progn (run-hooks 
'disabled-command-function))) (let ((final cmd)) (while (progn (setq 
final (indirect-function final)) (if (autoloadp final) (setq final 
(autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag 
(progn (add-to-history 'command-history (list ... final prefixarg) nil 
t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively 
cmd record-flag keys) (if (and (symbolp cmd) (get cmd ...) (not ...)) 
(progn (put cmd ... t) (message "%s" ...))))))))
   (let ((prefixarg (if special nil (prog1 prefix-arg (setq 
current-prefix-arg prefix-arg) (setq prefix-arg nil) (if 
current-prefix-arg (progn (prefix-command-update)))))) query) (if (and 
(symbolp cmd) (get cmd 'disabled) (or (and (setq query (and (consp ...) 
(eq ... ...))) (not (command-execute--query cmd))) (and (not query) 
disabled-command-function))) (if (not query) (progn (run-hooks 
'disabled-command-function))) (let ((final cmd)) (while (progn (setq 
final (indirect-function final)) (if (autoloadp final) (setq final 
(autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag 
(progn (add-to-history ... ... nil t))) (execute-kbd-macro final 
prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and 
... ... ...) (progn ... ...))))))))
   command-execute(eval-buffer record)
   (let ((prefix-arg prefixarg)) (command-execute function 'record))
   (let* (#'(and (stringp command-name) (intern-soft command-name)) 
(binding (and suggest-key-bindings (not executing-kbd-macro) 
(where-is-internal function overriding-local-map t))) 
(delay-before-suggest 0) (find-shorter nil)) (if (commandp function) nil 
(error "`%s' is not a valid command name" command-name)) 
(set--this-command-keys (concat "\370" (symbol-name function) "\15")) 
(setq this-command function) (setq real-this-command function) (let 
((prefix-arg prefixarg)) (command-execute function 'record)) (if 
execute-extended-command--binding-timer (progn (cancel-timer 
execute-extended-command--binding-timer))) (if (and suggest-key-bindings 
(or binding (and extended-command-suggest-shorter typed))) (progn (setq 
delay-before-suggest (cond ((= 0 (length ...)) 0) ((numberp 
suggest-key-bindings) suggest-key-bindings) (t 2))) (if (and 
extended-command-suggest-shorter (not binding) (not executing-kbd-macro) 
(symbolp function) (> (length (symbol-name function)) 2)) (progn (setq 
find-shorter t))) (if (or binding find-shorter) (progn (setq 
execute-extended-command--binding-timer (run-at-time 
delay-before-suggest nil #'...)))))))
   execute-extended-command(nil "eval-buffer" "eval-buffer")
   funcall-interactively(execute-extended-command nil "eval-buffer" 
"eval-buffer")
   call-interactively(execute-extended-command nil nil)
   (prog1 (call-interactively cmd record-flag keys) (if (and (symbolp 
cmd) (get cmd 'byte-obsolete-info) (not (get cmd 
'command-execute-obsolete-warned))) (progn (put cmd 
'command-execute-obsolete-warned t) (message "%s" 
(macroexp--obsolete-warning cmd (get cmd 'byte-obsolete-info) "command")))))
   (cond ((arrayp final) (if record-flag (progn (add-to-history 
'command-history (list 'execute-kbd-macro final prefixarg) nil t))) 
(execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd 
record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) 
(not (get cmd 'command-execute-obsolete-warned))) (progn (put cmd 
'command-execute-obsolete-warned t) (message "%s" 
(macroexp--obsolete-warning cmd (get cmd ...) "command")))))))
   (let ((final cmd)) (while (progn (setq final (indirect-function 
final)) (if (autoloadp final) (setq final (autoload-do-load final 
cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history 
'command-history (list 'execute-kbd-macro final prefixarg) nil t))) 
(execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd 
record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) 
(not (get cmd ...))) (progn (put cmd 'command-execute-obsolete-warned t) 
(message "%s" (macroexp--obsolete-warning cmd ... "command"))))))))
   (if (and (symbolp cmd) (get cmd 'disabled) (or (and (setq query (and 
(consp (get cmd ...)) (eq (car ...) 'query))) (not 
(command-execute--query cmd))) (and (not query) 
disabled-command-function))) (if (not query) (progn (run-hooks 
'disabled-command-function))) (let ((final cmd)) (while (progn (setq 
final (indirect-function final)) (if (autoloadp final) (setq final 
(autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag 
(progn (add-to-history 'command-history (list ... final prefixarg) nil 
t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively 
cmd record-flag keys) (if (and (symbolp cmd) (get cmd ...) (not ...)) 
(progn (put cmd ... t) (message "%s" ...))))))))
   (let ((prefixarg (if special nil (prog1 prefix-arg (setq 
current-prefix-arg prefix-arg) (setq prefix-arg nil) (if 
current-prefix-arg (progn (prefix-command-update)))))) query) (if (and 
(symbolp cmd) (get cmd 'disabled) (or (and (setq query (and (consp ...) 
(eq ... ...))) (not (command-execute--query cmd))) (and (not query) 
disabled-command-function))) (if (not query) (progn (run-hooks 
'disabled-command-function))) (let ((final cmd)) (while (progn (setq 
final (indirect-function final)) (if (autoloadp final) (setq final 
(autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag 
(progn (add-to-history ... ... nil t))) (execute-kbd-macro final 
prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and 
... ... ...) (progn ... ...))))))))
   command-execute(execute-extended-command)
   execute-kbd-macro("\33xeval-buffer\15" nil)
   (cond ((arrayp final) (if record-flag (progn (add-to-history 
'command-history (list 'execute-kbd-macro final prefixarg) nil t))) 
(execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd 
record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) 
(not (get cmd 'command-execute-obsolete-warned))) (progn (put cmd 
'command-execute-obsolete-warned t) (message "%s" 
(macroexp--obsolete-warning cmd (get cmd ...) "command")))))))
   (let ((final cmd)) (while (progn (setq final (indirect-function 
final)) (if (autoloadp final) (setq final (autoload-do-load final 
cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history 
'command-history (list 'execute-kbd-macro final prefixarg) nil t))) 
(execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd 
record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) 
(not (get cmd ...))) (progn (put cmd 'command-execute-obsolete-warned t) 
(message "%s" (macroexp--obsolete-warning cmd ... "command"))))))))
   (if (and (symbolp cmd) (get cmd 'disabled) (or (and (setq query (and 
(consp (get cmd ...)) (eq (car ...) 'query))) (not 
(command-execute--query cmd))) (and (not query) 
disabled-command-function))) (if (not query) (progn (run-hooks 
'disabled-command-function))) (let ((final cmd)) (while (progn (setq 
final (indirect-function final)) (if (autoloadp final) (setq final 
(autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag 
(progn (add-to-history 'command-history (list ... final prefixarg) nil 
t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively 
cmd record-flag keys) (if (and (symbolp cmd) (get cmd ...) (not ...)) 
(progn (put cmd ... t) (message "%s" ...))))))))
   (let ((prefixarg (if special nil (prog1 prefix-arg (setq 
current-prefix-arg prefix-arg) (setq prefix-arg nil) (if 
current-prefix-arg (progn (prefix-command-update)))))) query) (if (and 
(symbolp cmd) (get cmd 'disabled) (or (and (setq query (and (consp ...) 
(eq ... ...))) (not (command-execute--query cmd))) (and (not query) 
disabled-command-function))) (if (not query) (progn (run-hooks 
'disabled-command-function))) (let ((final cmd)) (while (progn (setq 
final (indirect-function final)) (if (autoloadp final) (setq final 
(autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag 
(progn (add-to-history ... ... nil t))) (execute-kbd-macro final 
prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and 
... ... ...) (progn ... ...))))))))
   command-execute(eb record)
   (let ((prefix-arg prefixarg)) (command-execute function 'record))
   (let* (#'(and (stringp command-name) (intern-soft command-name)) 
(binding (and suggest-key-bindings (not executing-kbd-macro) 
(where-is-internal function overriding-local-map t))) 
(delay-before-suggest 0) (find-shorter nil)) (if (commandp function) nil 
(error "`%s' is not a valid command name" command-name)) 
(set--this-command-keys (concat "\370" (symbol-name function) "\15")) 
(setq this-command function) (setq real-this-command function) (let 
((prefix-arg prefixarg)) (command-execute function 'record)) (if 
execute-extended-command--binding-timer (progn (cancel-timer 
execute-extended-command--binding-timer))) (if (and suggest-key-bindings 
(or binding (and extended-command-suggest-shorter typed))) (progn (setq 
delay-before-suggest (cond ((= 0 (length ...)) 0) ((numberp 
suggest-key-bindings) suggest-key-bindings) (t 2))) (if (and 
extended-command-suggest-shorter (not binding) (not executing-kbd-macro) 
(symbolp function) (> (length (symbol-name function)) 2)) (progn (setq 
find-shorter t))) (if (or binding find-shorter) (progn (setq 
execute-extended-command--binding-timer (run-at-time 
delay-before-suggest nil #'...)))))))
   execute-extended-command(nil "eb" "eb")
   funcall-interactively(execute-extended-command nil "eb" "eb")
   call-interactively(execute-extended-command nil nil)
   (prog1 (call-interactively cmd record-flag keys) (if (and (symbolp 
cmd) (get cmd 'byte-obsolete-info) (not (get cmd 
'command-execute-obsolete-warned))) (progn (put cmd 
'command-execute-obsolete-warned t) (message "%s" 
(macroexp--obsolete-warning cmd (get cmd 'byte-obsolete-info) "command")))))
   (cond ((arrayp final) (if record-flag (progn (add-to-history 
'command-history (list 'execute-kbd-macro final prefixarg) nil t))) 
(execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd 
record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) 
(not (get cmd 'command-execute-obsolete-warned))) (progn (put cmd 
'command-execute-obsolete-warned t) (message "%s" 
(macroexp--obsolete-warning cmd (get cmd ...) "command")))))))
   (let ((final cmd)) (while (progn (setq final (indirect-function 
final)) (if (autoloadp final) (setq final (autoload-do-load final 
cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history 
'command-history (list 'execute-kbd-macro final prefixarg) nil t))) 
(execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd 
record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) 
(not (get cmd ...))) (progn (put cmd 'command-execute-obsolete-warned t) 
(message "%s" (macroexp--obsolete-warning cmd ... "command"))))))))
   (if (and (symbolp cmd) (get cmd 'disabled) (or (and (setq query (and 
(consp (get cmd ...)) (eq (car ...) 'query))) (not 
(command-execute--query cmd))) (and (not query) 
disabled-command-function))) (if (not query) (progn (run-hooks 
'disabled-command-function))) (let ((final cmd)) (while (progn (setq 
final (indirect-function final)) (if (autoloadp final) (setq final 
(autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag 
(progn (add-to-history 'command-history (list ... final prefixarg) nil 
t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively 
cmd record-flag keys) (if (and (symbolp cmd) (get cmd ...) (not ...)) 
(progn (put cmd ... t) (message "%s" ...))))))))
   (let ((prefixarg (if special nil (prog1 prefix-arg (setq 
current-prefix-arg prefix-arg) (setq prefix-arg nil) (if 
current-prefix-arg (progn (prefix-command-update)))))) query) (if (and 
(symbolp cmd) (get cmd 'disabled) (or (and (setq query (and (consp ...) 
(eq ... ...))) (not (command-execute--query cmd))) (and (not query) 
disabled-command-function))) (if (not query) (progn (run-hooks 
'disabled-command-function))) (let ((final cmd)) (while (progn (setq 
final (indirect-function final)) (if (autoloadp final) (setq final 
(autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag 
(progn (add-to-history ... ... nil t))) (execute-kbd-macro final 
prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and 
... ... ...) (progn ... ...))))))))
   command-execute(execute-extended-command)

------


Any idea why that happens?

Thanks,

Andreas


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

* Re: 29.0.50; error evaluating simple.el
  2022-06-16 16:51 29.0.50; error evaluating simple.el Andreas Röhler
@ 2022-06-16 17:30 ` Michael Heerdegen
  2022-06-16 19:00   ` Andreas Röhler
  0 siblings, 1 reply; 5+ messages in thread
From: Michael Heerdegen @ 2022-06-16 17:30 UTC (permalink / raw)
  To: help-gnu-emacs

Andreas Röhler <andreas.roehler@easy-emacs.de> writes:

> put: Wrong type argument: listp, "As a special case,
> `decoded-time-dst' returns an unspecified
> value when given a list too short to have a dst element."
>
> No backtrace from Emacs -Q, but from my customized one:
>
> Debugger entered--Lisp error: (wrong-type-argument listp "As a special
> case, `decoded-time-dst' returns an u...")
>   append((65 115 32 97 32 115 112 101 99 105 97 108 32 99 97 115 101
> 44 32 96 100 101 99 111 100 101 100 45 116 105 109 101 45 100 115 116
> 39 32 114 101 116 117 114 110 115 32 97 110 32 117 ...) "As a special
> case, `decoded-time-dst' returns an u...")
>   (put 'decoded-time-dst 'function-documentation (append (get
> 'decoded-time-dst 'function-documentation) "As a special case,
> `decoded-time-dst' returns an u..."))
>   eval-buffer()  ; Reading at buffer position 440765

Looks like this code has been changed recently (5678829a62 Default
decoded-time dst slot to -1), I suggest to update and rebuild.

Michael.




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

* Re: 29.0.50; error evaluating simple.el
  2022-06-16 17:30 ` Michael Heerdegen
@ 2022-06-16 19:00   ` Andreas Röhler
  2022-06-16 19:40     ` Emacs version (was: Re: 29.0.50; error evaluating simple.el) Emanuel Berg
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Röhler @ 2022-06-16 19:00 UTC (permalink / raw)
  To: help-gnu-emacs


Am 16.06.22 um 19:30 schrieb Michael Heerdegen:
> Andreas Röhler<andreas.roehler@easy-emacs.de>  writes:
>
>> put: Wrong type argument: listp, "As a special case,
>> `decoded-time-dst' returns an unspecified
>> value when given a list too short to have a dst element."
>>
>> No backtrace from Emacs -Q, but from my customized one:
>>
>> Debugger entered--Lisp error: (wrong-type-argument listp "As a special
>> case, `decoded-time-dst' returns an u...")
>>    append((65 115 32 97 32 115 112 101 99 105 97 108 32 99 97 115 101
>> 44 32 96 100 101 99 111 100 101 100 45 116 105 109 101 45 100 115 116
>> 39 32 114 101 116 117 114 110 115 32 97 110 32 117 ...) "As a special
>> case, `decoded-time-dst' returns an u...")
>>    (put 'decoded-time-dst 'function-documentation (append (get
>> 'decoded-time-dst 'function-documentation) "As a special case,
>> `decoded-time-dst' returns an u..."))
>>    eval-buffer()  ; Reading at buffer position 440765
> Looks like this code has been changed recently (5678829a62 Default
> decoded-time dst slot to -1), I suggest to update and rebuild.
>
> Michael.
>
>
Thanks, doesn't happen with today's build.


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

* Emacs version (was: Re: 29.0.50; error evaluating simple.el)
  2022-06-16 19:00   ` Andreas Röhler
@ 2022-06-16 19:40     ` Emanuel Berg
  2022-06-16 20:09       ` Emanuel Berg
  0 siblings, 1 reply; 5+ messages in thread
From: Emanuel Berg @ 2022-06-16 19:40 UTC (permalink / raw)
  To: help-gnu-emacs

Andreas Röhler wrote:

>> Looks like this code has been changed recently (5678829a62
>> Default decoded-time dst slot to -1), I suggest to update
>> and rebuild.
>
> Thanks, doesn't happen with today's build.

This we've seen two times now and before that I never saw it.
Don't know if I didn't look close enough tho.

I use to think one could just look at the version's first two
digits ... and now everyone's saying (and I experienced it to
be correct myself) that now looking at all three isn't enough?

Is that MAJOR.MINOR.PATCH or is the third just the build
number, if so why is that helpful? Emacs isn't under "Semantic
Versioning", right? [1] [Now I see that the build number is
reported in `emacs-version', however that's on the local
machine, right?]

But that commit stuff, in a way that's the incremented build
of public, multiprogrammER software? How is it computed?
Can you revert it and say "this came before this" or
something like that or is it just unique?

C-u M-x ever RET

  GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu,
  GTK+ Version 3.24.24, cairo version 1.16.0) of 2022-05-28
  [commit 79ae40c8e4dac5898d68c92f26f625ac400b960c]

;;; -*- lexical-binding: t -*-
;;
;; this file:
;;   https://dataswamp.org/~incal/emacs-init/meta.el
;;
;; also see:
;;   https://dataswamp.org/~incal/emacs-init/w3m/w3m-version.el
;;
;; GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, cairo version 1.16.0)
;; of 2022-05-22 [commit 714970f5967f2153bb95e35823dbd917e0e5b60b]

(defun emacs-version-commit (&optional here)
  (interactive "P")
  (let ((ver (format "%s [commit %s]" (emacs-version)
                                      (emacs-repository-get-version) )))
    (if here
      (insert ver) )
    (message ver) ))
(defalias 'ever #'emacs-version-commit)

[1] https://semver.org/
i
-- 
underground experts united
https://dataswamp.org/~incal




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

* Re: Emacs version (was: Re: 29.0.50; error evaluating simple.el)
  2022-06-16 19:40     ` Emacs version (was: Re: 29.0.50; error evaluating simple.el) Emanuel Berg
@ 2022-06-16 20:09       ` Emanuel Berg
  0 siblings, 0 replies; 5+ messages in thread
From: Emanuel Berg @ 2022-06-16 20:09 UTC (permalink / raw)
  To: help-gnu-emacs

> now looking at all three isn't enough

Here they have _four_ digits in Emacs' version, e.g.
24.4.50.1!

  Last night a new pre-test Emacs version was released (OS
  X link). The pre-test version is 24.3.90 and the current
  nightly version number is 24.4.50.1.

https://stackoverflow.com/q/23045242

Didn't read all that tho. But if it's that difficult to
explain, maybe it could and should be simplified somehow, and
especially since it doesn't even help anymore without looking
at the commit data which, to my untrained eye anyway, don't
say a lot ...

Maybe version numbers are passé anyway?

-- 
underground experts united
https://dataswamp.org/~incal




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

end of thread, other threads:[~2022-06-16 20:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-16 16:51 29.0.50; error evaluating simple.el Andreas Röhler
2022-06-16 17:30 ` Michael Heerdegen
2022-06-16 19:00   ` Andreas Röhler
2022-06-16 19:40     ` Emacs version (was: Re: 29.0.50; error evaluating simple.el) Emanuel Berg
2022-06-16 20:09       ` Emanuel Berg

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 read-only IMAP folder(s) and NNTP newsgroup(s).