unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#25194: 25.1; Python debugger breakpoint error
@ 2016-12-13 10:10 Live System User
  2016-12-13 11:46 ` Andreas Röhler
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Live System User @ 2016-12-13 10:10 UTC (permalink / raw)
  To: 25194


Hi,

        When trying to debug a Python program, I get the following
        error when trying to set a breakpoint:

0. emaccs -Q &

1. C-x C-f test.py

2. From the menubar:  Python->Debugger

Run pdb (like this): python -m pdb test.py

3. Click on "Next Line" so I can see a source line

4. Cick on "Set Breakpoint"

   I now get the error:
   
      Wrong type argument: stringp, nil

   Turning on `debug-on-error' yields the same results.
   However, on the *Messages* buffer there is a little more
   information about the error:

       gud-format-command: Wrong type argument: stringp, nil

   How does one debug this problem further?

   Thanks.
   



In GNU Emacs 25.1.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.20.9)
 of 2016-10-13 built on buildvm-05.phx2.fedoraproject.org
Windowing system distributor 'Fedora Project', version 11.0.11803000
Configured using:
 'configure --build=x86_64-redhat-linux-gnu
 --host=x86_64-redhat-linux-gnu --program-prefix=
 --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
 --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
 --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
 --libexecdir=/usr/libexec --localstatedir=/var
 --sharedstatedir=/var/lib --mandir=/usr/share/man
 --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png
 --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3
 --with-gpm=no --with-xwidgets build_alias=x86_64-redhat-linux-gnu
 host_alias=x86_64-redhat-linux-gnu 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g
 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4
 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
 -m64 -mtune=generic' LDFLAGS=-Wl,-z,relro
 PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XWIDGETS

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Summary

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Scoring...done
Sorting threads...done
Generating summary...done

Load-path shadows:
None found.

Features:
(shadow emacsbug sendmail sort gnus-cite smiley ansi-color mm-archive
mail-extr gnus-async gnus-bcklg qp gnus-ml disp-table cursor-sensor
nndraft nnmh nndoc utf-7 rfc2104 nnfolder network-stream nsm starttls
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art
mm-uu mml2015 mm-view mml-smime smime dig mailcap nntp gnus-cache
epa-file epa derived auth-source cl-seq eieio byte-opt bytecomp
byte-compile cl-extra cconv eieio-core cl-macs gv sieve sieve-mode
sieve-manage nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud
nnimap nnmail mail-source tls gnutls utf7 netrc parse-time gnus-spec
gnus-int gnus-range message dired format-spec rfc822 mml mml-sec
password-cache epg epg-config mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader
gnus-win gnus gnus-ems wid-edit nnoo nnheader gnus-util mm-util help-fns
help-mode easymenu cl-loaddefs pcase cl-lib mail-prsvr mail-utils
time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset
image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote dbusbind inotify dynamic-setting
system-font-setting font-render-setting xwidget-internal move-toolbar
gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 3415290 60696)
 (symbols 48 122996 45)
 (miscs 40 154 602)
 (strings 32 91188 15607)
 (string-bytes 1 3394373)
 (vectors 16 23139)
 (vector-slots 8 4832715 8719)
 (floats 8 367 785)
 (intervals 56 8533 172)
 (buffers 976 43)
 (heap 1024 153578 105539))





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

* bug#25194: 25.1; Python debugger breakpoint error
  2016-12-13 10:10 bug#25194: 25.1; Python debugger breakpoint error Live System User
@ 2016-12-13 11:46 ` Andreas Röhler
  2016-12-13 12:25   ` Live System User
  2016-12-13 15:44 ` Live System User
  2016-12-13 16:06 ` Eli Zaretskii
  2 siblings, 1 reply; 8+ messages in thread
From: Andreas Röhler @ 2016-12-13 11:46 UTC (permalink / raw)
  To: 25194



On 13.12.2016 11:10, Live System User wrote:
> Hi,
>
>          When trying to debug a Python program, I get the following
>          error when trying to set a breakpoint:
>
> 0. emaccs -Q &
>
> 1. C-x C-f test.py
>
> 2. From the menubar:  Python->Debugger
>
> Run pdb (like this): python -m pdb test.py
>
> 3. Click on "Next Line" so I can see a source line
>
> 4. Cick on "Set Breakpoint"
>
>     I now get the error:
>     
>        Wrong type argument: stringp, nil
>
>     Turning on `debug-on-error' yields the same results.
>     However, on the *Messages* buffer there is a little more
>     information about the error:
>
>         gud-format-command: Wrong type argument: stringp, nil
>
>     How does one debug this problem further?
>
>     Thanks.
>     
>
>
>
> In GNU Emacs 25.1.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.20.9)
>   of 2016-10-13 built on buildvm-05.phx2.fedoraproject.org
> Windowing system distributor 'Fedora Project', version 11.0.11803000
> Configured using:
>   'configure --build=x86_64-redhat-linux-gnu
>   --host=x86_64-redhat-linux-gnu --program-prefix=
>   --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
>   --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
>   --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
>   --libexecdir=/usr/libexec --localstatedir=/var
>   --sharedstatedir=/var/lib --mandir=/usr/share/man
>   --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png
>   --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3
>   --with-gpm=no --with-xwidgets build_alias=x86_64-redhat-linux-gnu
>   host_alias=x86_64-redhat-linux-gnu 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g
>   -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
>   -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4
>   -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
>   -m64 -mtune=generic' LDFLAGS=-Wl,-z,relro
>   PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
>
> Configured features:
> XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY
> ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
> TOOLKIT_SCROLL_BARS GTK3 X11 XWIDGETS
>
> Important settings:
>    value of $LANG: en_US.UTF-8
>    value of $XMODIFIERS: @im=ibus
>    locale-coding-system: utf-8-unix
>
> Major mode: Summary
>
> Minor modes in effect:
>    tooltip-mode: t
>    global-eldoc-mode: t
>    electric-indent-mode: t
>    mouse-wheel-mode: t
>    tool-bar-mode: t
>    menu-bar-mode: t
>    file-name-shadow-mode: t
>    global-font-lock-mode: t
>    font-lock-mode: t
>    blink-cursor-mode: t
>    auto-composition-mode: t
>    auto-encryption-mode: t
>    auto-compression-mode: t
>    buffer-read-only: t
>    line-number-mode: t
>    transient-mark-mode: t
>
> Recent messages:
> Scoring...done
> Sorting threads...done
> Generating summary...done
>
> Load-path shadows:
> None found.
>
> Features:
> (shadow emacsbug sendmail sort gnus-cite smiley ansi-color mm-archive
> mail-extr gnus-async gnus-bcklg qp gnus-ml disp-table cursor-sensor
> nndraft nnmh nndoc utf-7 rfc2104 nnfolder network-stream nsm starttls
> gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art
> mm-uu mml2015 mm-view mml-smime smime dig mailcap nntp gnus-cache
> epa-file epa derived auth-source cl-seq eieio byte-opt bytecomp
> byte-compile cl-extra cconv eieio-core cl-macs gv sieve sieve-mode
> sieve-manage nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud
> nnimap nnmail mail-source tls gnutls utf7 netrc parse-time gnus-spec
> gnus-int gnus-range message dired format-spec rfc822 mml mml-sec
> password-cache epg epg-config mm-decode mm-bodies mm-encode mail-parse
> rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader
> gnus-win gnus gnus-ems wid-edit nnoo nnheader gnus-util mm-util help-fns
> help-mode easymenu cl-loaddefs pcase cl-lib mail-prsvr mail-utils
> time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
> lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset
> image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
> prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
> mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
> georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
> korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
> european ethiopic indian cyrillic chinese charscript case-table epa-hook
> jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
> loaddefs button faces cus-face macroexp files text-properties overlay
> sha1 md5 base64 format env code-pages mule custom widget
> hashtable-print-readable backquote dbusbind inotify dynamic-setting
> system-font-setting font-render-setting xwidget-internal move-toolbar
> gtk x-toolkit x multi-tty make-network-process emacs)
>
> Memory information:
> ((conses 16 3415290 60696)
>   (symbols 48 122996 45)
>   (miscs 40 154 602)
>   (strings 32 91188 15607)
>   (string-bytes 1 3394373)
>   (vectors 16 23139)
>   (vector-slots 8 4832715 8719)
>   (floats 8 367 785)
>   (intervals 56 8533 172)
>   (buffers 976 43)
>   (heap 1024 153578 105539))
>
>
>

Here it works calling just

pdb test.py

not "python -m"before





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

* bug#25194: 25.1; Python debugger breakpoint error
  2016-12-13 11:46 ` Andreas Röhler
@ 2016-12-13 12:25   ` Live System User
  2016-12-13 16:08     ` Andreas Röhler
  0 siblings, 1 reply; 8+ messages in thread
From: Live System User @ 2016-12-13 12:25 UTC (permalink / raw)
  To: 25194

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

> On 13.12.2016 11:10, Live System User wrote:
>> Hi,
>>
>>          When trying to debug a Python program, I get the following
>>          error when trying to set a breakpoint:
>>
>> 0. emaccs -Q &
>>
>> 1. C-x C-f test.py
>>
>> 2. From the menubar:  Python->Debugger
>>
>> Run pdb (like this): python -m pdb test.py
>>
>> 3. Click on "Next Line" so I can see a source line
>>
>> 4. Cick on "Set Breakpoint"
>>
>>     I now get the error:
>>            Wrong type argument: stringp, nil
>>
>>     Turning on `debug-on-error' yields the same results.
>>     However, on the *Messages* buffer there is a little more
>>     information about the error:
>>
>>         gud-format-command: Wrong type argument: stringp, nil
>>
>>     How does one debug this problem further?
>>
>>     Thanks.
>>     

[...]
>
> Here it works calling just
>
> pdb test.py
>
> not "python -m"before

  Normally, `pdb' is just a shell script that calls/execs
  the Python debugger containing:

    exec $python -m pdb $1 $2 $3 $4 $5 $6 $7 $8 $9


 






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

* bug#25194: 25.1; Python debugger breakpoint error
  2016-12-13 10:10 bug#25194: 25.1; Python debugger breakpoint error Live System User
  2016-12-13 11:46 ` Andreas Röhler
@ 2016-12-13 15:44 ` Live System User
  2016-12-13 16:06 ` Eli Zaretskii
  2 siblings, 0 replies; 8+ messages in thread
From: Live System User @ 2016-12-13 15:44 UTC (permalink / raw)
  To: 25194

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

> On 13.12.2016 11:10, Live System User wrote:
>> Hi,
>>
>>          When trying to debug a Python program, I get the following
>>          error when trying to set a breakpoint:
>>
>> 0. emaccs -Q &
>>
>> 1. C-x C-f test.py
>>
>> 2. From the menubar:  Python->Debugger
>>
>> Run pdb (like this): python -m pdb test.py
>>
>> 3. Click on "Next Line" so I can see a source line
>>
>> 4. Cick on "Set Breakpoint"
>>
>>     I now get the error:
>>            Wrong type argument: stringp, nil
>>
>>     Turning on `debug-on-error' yields the same results.
>>     However, on the *Messages* buffer there is a little more
>>     information about the error:
>>
>>         gud-format-command: Wrong type argument: stringp, nil
>>
>>     How does one debug this problem further?
>>
>>     Thanks.
>>     

[...]
>
> Here it works calling just
>
> pdb test.py
>
> not "python -m"before

  Normally, `pdb' is just a shell script (or an alias) that
  calls/execs the Python debugger containing something like:

    exec python -m pdb $1 $2 $3 $4 $5 $6 $7 $8 $9


  So invoking "python -m test.py" from the prompt is equalivant
  and I can ust the commands (LIST, NEXT, etc) all the same.

  The problem I am having is setting breakpoints.

  Thanks.







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

* bug#25194: 25.1; Python debugger breakpoint error
  2016-12-13 10:10 bug#25194: 25.1; Python debugger breakpoint error Live System User
  2016-12-13 11:46 ` Andreas Röhler
  2016-12-13 15:44 ` Live System User
@ 2016-12-13 16:06 ` Eli Zaretskii
  2016-12-13 17:05   ` Live System User
  2 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2016-12-13 16:06 UTC (permalink / raw)
  To: Live System User; +Cc: 25194

> From: Live System User <nyc4bos@aol.com>
> Date: Tue, 13 Dec 2016 05:10:03 -0500
> 
> 4. Cick on "Set Breakpoint"
> 
>    I now get the error:
>    
>       Wrong type argument: stringp, nil
> 
>    Turning on `debug-on-error' yields the same results.
>    However, on the *Messages* buffer there is a little more
>    information about the error:
> 
>        gud-format-command: Wrong type argument: stringp, nil
> 
>    How does one debug this problem further?

Did you try debug-on-entry?





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

* bug#25194: 25.1; Python debugger breakpoint error
  2016-12-13 12:25   ` Live System User
@ 2016-12-13 16:08     ` Andreas Röhler
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Röhler @ 2016-12-13 16:08 UTC (permalink / raw)
  To: 25194



On 13.12.2016 13:25, Live System User wrote:
> Andreas Röhler <andreas.roehler@easy-emacs.de> writes:
>
>> On 13.12.2016 11:10, Live System User wrote:
>>> Hi,
>>>
>>>           When trying to debug a Python program, I get the following
>>>           error when trying to set a breakpoint:
>>>
>>> 0. emaccs -Q &
>>>
>>> 1. C-x C-f test.py
>>>
>>> 2. From the menubar:  Python->Debugger
>>>
>>> Run pdb (like this): python -m pdb test.py
>>>
>>> 3. Click on "Next Line" so I can see a source line
>>>
>>> 4. Cick on "Set Breakpoint"
>>>
>>>      I now get the error:
>>>             Wrong type argument: stringp, nil
>>>
>>>      Turning on `debug-on-error' yields the same results.
>>>      However, on the *Messages* buffer there is a little more
>>>      information about the error:
>>>
>>>          gud-format-command: Wrong type argument: stringp, nil
>>>
>>>      How does one debug this problem further?
>>>
>>>      Thanks.
>>>      
> [...]
>> Here it works calling just
>>
>> pdb test.py
>>
>> not "python -m"before
>    Normally, `pdb' is just a shell script that calls/execs
>    the Python debugger containing:
>
>      exec $python -m pdb $1 $2 $3 $4 $5 $6 $7 $8 $9
>
>
>   
As described
 From the menubar: Python->Debugger

That means being in an Emacs-buffer connected to Python-process in a 
special way.
The command to insert must match the environment, but didn't. That's why 
"gud-format-command:" raised the error.


IIUC `debug-on-error' adresses Emacs-lisp errors, not the Python-side.

>
>
>
>






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

* bug#25194: 25.1; Python debugger breakpoint error
  2016-12-13 16:06 ` Eli Zaretskii
@ 2016-12-13 17:05   ` Live System User
  2017-01-02  4:35     ` npostavs
  0 siblings, 1 reply; 8+ messages in thread
From: Live System User @ 2016-12-13 17:05 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 25194

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Live System User <nyc4bos@aol.com>
>> Date: Tue, 13 Dec 2016 05:10:03 -0500
>> 
>> 4. Cick on "Set Breakpoint"
>> 
>>    I now get the error:
>>    
>>       Wrong type argument: stringp, nil
>> 
>>    Turning on `debug-on-error' yields the same results.
>>    However, on the *Messages* buffer there is a little more
>>    information about the error:
>> 
>>        gud-format-command: Wrong type argument: stringp, nil
>> 
>>    How does one debug this problem further?
>
> Did you try debug-on-entry?

  Thanks!

  I never used this command before -- so I tried it:

     M-x debug-on-entry RET gud-break

     When trying to set a breakpoint, I got a *Backtrace*:

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  file-name-directory(nil)
  gud-format-command("break %d%f:%l" 4)
  gud-call("break %d%f:%l" 4)
  #[257 "\b?\205	\301\302\"\207" [gud-running gud-call "break %d%f:%l"] 4 "Set breakpoint at current line.\n\n(fn ARG)" "p"](4)
  apply(#[257 "\b?\205	\301\302\"\207" [gud-running gud-call "break %d%f:%l"] 4 "Set breakpoint at current line.\n\n(fn ARG)" "p"] 4)
  gud-break(4)
  eval((gud-break 4) nil)
  eval-expression((gud-break 4) nil)
  funcall-interactively(eval-expression (gud-break 4) nil)
  call-interactively(eval-expression nil nil)
  command-execute(eval-expression)
  recursive-edit()
  debug(debug)
  debug--implement-debug-on-entry(1)
  apply(debug--implement-debug-on-entry 1)
* gud-break(1)
  funcall-interactively(gud-break 1)
  call-interactively(gud-break nil nil)
  command-execute(gud-break)


  Thanks.






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

* bug#25194: 25.1; Python debugger breakpoint error
  2016-12-13 17:05   ` Live System User
@ 2017-01-02  4:35     ` npostavs
  0 siblings, 0 replies; 8+ messages in thread
From: npostavs @ 2017-01-02  4:35 UTC (permalink / raw)
  To: Live System User; +Cc: 25194

tags 25194 unreproducible
quit

Live System User <nyc4bos@aol.com> writes:
>
>   I never used this command before -- so I tried it:
>
>      M-x debug-on-entry RET gud-break
>
>      When trying to set a breakpoint, I got a *Backtrace*:
>
> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>   file-name-directory(nil)
>   gud-format-command("break %d%f:%l" 4)

It looks like buffer-file-name-localized in gud-format-command is nil
for you, though I don't see how that's possible and I can't reproduce
this here.

(defun gud-format-command (str arg)
  (let ((insource (not (eq (current-buffer) gud-comint-buffer)))
        (frame (or gud-last-frame gud-last-last-frame))
        (buffer-file-name-localized
         (and (buffer-file-name)
              (or (file-remote-p (buffer-file-name) 'localname)
                  (buffer-file-name))))
    ...
         ((eq key ?d)
          (setq subst (file-name-directory (if insource
                                               buffer-file-name-localized
                                             (car frame))))





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

end of thread, other threads:[~2017-01-02  4:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-13 10:10 bug#25194: 25.1; Python debugger breakpoint error Live System User
2016-12-13 11:46 ` Andreas Röhler
2016-12-13 12:25   ` Live System User
2016-12-13 16:08     ` Andreas Röhler
2016-12-13 15:44 ` Live System User
2016-12-13 16:06 ` Eli Zaretskii
2016-12-13 17:05   ` Live System User
2017-01-02  4:35     ` npostavs

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).