* appearance of list as results from evaluating code blocks
@ 2021-06-23 19:27 Johannes Brauer
2021-06-23 19:43 ` Juan Manuel Macías
0 siblings, 1 reply; 13+ messages in thread
From: Johannes Brauer @ 2021-06-23 19:27 UTC (permalink / raw)
To: emacs-orgmode@gnu.org
Hi!
Evaluating a code block containing a list expression using org-babel for elisp or Clojure, for example
(list 1 2 3)
I get
#+RESULTS:
| 1 | 2 | 3 |
I would prefer
#+RESULTS:
( 1 2 3 )
Is it possible to get this.
I am using
Aquamacs 3.5nightly GNU Emacs 25.3.50.1 (x86_64-apple-darwin19.6.0, NS appkit-1894.60 Version 10.15.7 (Build 19H2))
macOs 11.4
Org mode version 9.3.7
Johannes
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: appearance of list as results from evaluating code blocks
2021-06-23 19:27 appearance of list as results from evaluating code blocks Johannes Brauer
@ 2021-06-23 19:43 ` Juan Manuel Macías
2021-06-23 20:03 ` Johannes Brauer
0 siblings, 1 reply; 13+ messages in thread
From: Juan Manuel Macías @ 2021-06-23 19:43 UTC (permalink / raw)
To: Johannes Brauer; +Cc: orgmode
Hi Johannes,
Johannes Brauer writes:
> Hi!
> Evaluating a code block containing a list expression using org-babel for elisp or Clojure, for example
> (list 1 2 3)
> I get
> #+RESULTS:
> | 1 | 2 | 3 |
> I would prefer
> #+RESULTS:
> ( 1 2 3 )
>
> Is it possible to get this.
Try
#+begin_src emacs-lisp :results raw
(list 1 2 3)
#+end_src
#+RESULTS:
(1 2 3)
Best regards,
Juan Manuel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: appearance of list as results from evaluating code blocks
2021-06-23 19:43 ` Juan Manuel Macías
@ 2021-06-23 20:03 ` Johannes Brauer
2021-06-23 21:13 ` Rodrigo Morales
2021-06-23 21:14 ` Rodrigo Morales
0 siblings, 2 replies; 13+ messages in thread
From: Johannes Brauer @ 2021-06-23 20:03 UTC (permalink / raw)
To: Juan Manuel Macías; +Cc: orgmode
Hi Juan Manuel,
thanks, that works
Best regards
Johannes
> Am 23.06.2021 um 21:43 schrieb Juan Manuel Macías <maciaschain@posteo.net>:
>
> Hi Johannes,
>
> Johannes Brauer writes:
>
>> Hi!
>> Evaluating a code block containing a list expression using org-babel for elisp or Clojure, for example
>> (list 1 2 3)
>> I get
>> #+RESULTS:
>> | 1 | 2 | 3 |
>> I would prefer
>> #+RESULTS:
>> ( 1 2 3 )
>>
>> Is it possible to get this.
>
> Try
>
> #+begin_src emacs-lisp :results raw
> (list 1 2 3)
> #+end_src
>
> #+RESULTS:
> (1 2 3)
>
> Best regards,
>
> Juan Manuel
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: appearance of list as results from evaluating code blocks
2021-06-23 20:03 ` Johannes Brauer
@ 2021-06-23 21:13 ` Rodrigo Morales
2021-06-23 21:14 ` Rodrigo Morales
1 sibling, 0 replies; 13+ messages in thread
From: Rodrigo Morales @ 2021-06-23 21:13 UTC (permalink / raw)
To: Johannes Brauer; +Cc: Juan Manuel Macías, orgmode
Johannes Brauer <brauer@nordakademie.de> writes:
Johannes Brauer writes:
> thanks, that works
While that works, you might be interested in ":results verbatim" instead
of ":results raw" since when using "verbatim" the results are replaced
when re-evaluating the code block. See minimal working example below.
After pressing =C-c C-c= five times
#+BEGIN_SRC elisp :results raw
(list 1 2 3)
#+END_SRC
#+RESULTS:
(1 2 3)
(1 2 3)
(1 2 3)
(1 2 3)
(1 2 3)
After pressing =C-c C-c= five times
#+BEGIN_SRC elisp :results verbatim
(list 1 2 3)
#+END_SRC
#+RESULTS:
#+begin_example
(1 2 3)
#+end_example
PS: If you haven't customized Org Mode enough, you might get a ":" as
the prefix of some of your results.
#+BEGIN_SRC elisp :results verbatim
(list 1 2 3)
#+END_SRC
#+RESULTS:
: (1 2 3)
As can be seen above, the results are not enclosed within
#+begin_example and #+end_example. To enable this, set the following.
#+BEGIN_SRC elisp
(setq org-babel-min-lines-for-block-output 0)
#+END_SRC
Once you set the option shown above, you might get the following when
evaluating the code block.
#+BEGIN_SRC elisp :results verbatim
(list 1 2 3)
#+END_SRC
#+RESULTS:
#+begin_example
(1 2 3)
#+end_example
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: appearance of list as results from evaluating code blocks
2021-06-23 20:03 ` Johannes Brauer
2021-06-23 21:13 ` Rodrigo Morales
@ 2021-06-23 21:14 ` Rodrigo Morales
2021-06-23 21:24 ` George Mauer
2021-06-24 10:46 ` Johannes Brauer
1 sibling, 2 replies; 13+ messages in thread
From: Rodrigo Morales @ 2021-06-23 21:14 UTC (permalink / raw)
To: Johannes Brauer; +Cc: Juan Manuel Macías, orgmode
Johannes Brauer <brauer@nordakademie.de> writes:
Johannes Brauer writes:
> thanks, that works
While that works, you might be interested in ":results verbatim" instead
of ":results raw" since when using "verbatim" the results are replaced
when re-evaluating the code block. See minimal working example below.
After pressing =C-c C-c= five times
#+BEGIN_SRC elisp :results raw
(list 1 2 3)
#+END_SRC
#+RESULTS:
(1 2 3)
(1 2 3)
(1 2 3)
(1 2 3)
(1 2 3)
After pressing =C-c C-c= five times
#+BEGIN_SRC elisp :results verbatim
(list 1 2 3)
#+END_SRC
#+RESULTS:
#+begin_example
(1 2 3)
#+end_example
PS: If you haven't customized Org Mode enough, you might get a ":" as
the prefix of some of your results.
#+BEGIN_SRC elisp :results verbatim
(list 1 2 3)
#+END_SRC
#+RESULTS:
: (1 2 3)
As can be seen above, the results are not enclosed within
#+begin_example and #+end_example. To enable this, set the following.
#+BEGIN_SRC elisp
(setq org-babel-min-lines-for-block-output 0)
#+END_SRC
Once you set the option shown above, you might get the following when
evaluating the code block.
#+BEGIN_SRC elisp :results verbatim
(list 1 2 3)
#+END_SRC
#+RESULTS:
#+begin_example
(1 2 3)
#+end_example
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: appearance of list as results from evaluating code blocks
2021-06-23 21:14 ` Rodrigo Morales
@ 2021-06-23 21:24 ` George Mauer
2021-06-24 10:46 ` Johannes Brauer
1 sibling, 0 replies; 13+ messages in thread
From: George Mauer @ 2021-06-23 21:24 UTC (permalink / raw)
To: orgmode
[-- Attachment #1: Type: text/plain, Size: 1484 bytes --]
What about :results code
The default is a elisp code block so you get syntax coloring
On Wed, Jun 23, 2021, 16:22 Rodrigo Morales <moralesrodrigo1100@gmail.com>
wrote:
> Johannes Brauer <brauer@nordakademie.de> writes:
>
> Johannes Brauer writes:
>
> > thanks, that works
>
> While that works, you might be interested in ":results verbatim" instead
> of ":results raw" since when using "verbatim" the results are replaced
> when re-evaluating the code block. See minimal working example below.
>
> After pressing =C-c C-c= five times
>
> #+BEGIN_SRC elisp :results raw
> (list 1 2 3)
> #+END_SRC
>
> #+RESULTS:
> (1 2 3)
> (1 2 3)
> (1 2 3)
> (1 2 3)
> (1 2 3)
>
> After pressing =C-c C-c= five times
>
> #+BEGIN_SRC elisp :results verbatim
> (list 1 2 3)
> #+END_SRC
>
> #+RESULTS:
> #+begin_example
> (1 2 3)
> #+end_example
>
> PS: If you haven't customized Org Mode enough, you might get a ":" as
> the prefix of some of your results.
>
> #+BEGIN_SRC elisp :results verbatim
> (list 1 2 3)
> #+END_SRC
>
> #+RESULTS:
> : (1 2 3)
>
> As can be seen above, the results are not enclosed within
> #+begin_example and #+end_example. To enable this, set the following.
>
> #+BEGIN_SRC elisp
> (setq org-babel-min-lines-for-block-output 0)
> #+END_SRC
>
> Once you set the option shown above, you might get the following when
> evaluating the code block.
>
> #+BEGIN_SRC elisp :results verbatim
> (list 1 2 3)
> #+END_SRC
>
> #+RESULTS:
> #+begin_example
> (1 2 3)
> #+end_example
>
>
[-- Attachment #2: Type: text/html, Size: 2110 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: appearance of list as results from evaluating code blocks
2021-06-23 21:14 ` Rodrigo Morales
2021-06-23 21:24 ` George Mauer
@ 2021-06-24 10:46 ` Johannes Brauer
2021-06-24 11:28 ` Eric S Fraga
1 sibling, 1 reply; 13+ messages in thread
From: Johannes Brauer @ 2021-06-24 10:46 UTC (permalink / raw)
To: Rodrigo Morales; +Cc: Juan Manuel Macías, orgmode
Hi Rodrigo!
Thanks a lot for the detailed information. In the meantime I’ve studied the org-mode manual a bit more closely (perhaps, I should have done that before asking my question …) and found the following interesting possibilitiy:
#+begin_src clojure :results verbatim :wrap src clojure
(list 1 2 (+ 1 2))
#+end_src
#+RESULTS:
#+begin_src clojure
(1 2 3)
#+end_src
Johannes
> Am 23.06.2021 um 23:14 schrieb Rodrigo Morales <moralesrodrigo1100@gmail.com>:
>
> Johannes Brauer <brauer@nordakademie.de> writes:
>
> Johannes Brauer writes:
>
>> thanks, that works
>
> While that works, you might be interested in ":results verbatim" instead
> of ":results raw" since when using "verbatim" the results are replaced
> when re-evaluating the code block. See minimal working example below.
>
> After pressing =C-c C-c= five times
>
> #+BEGIN_SRC elisp :results raw
> (list 1 2 3)
> #+END_SRC
>
> #+RESULTS:
> (1 2 3)
> (1 2 3)
> (1 2 3)
> (1 2 3)
> (1 2 3)
>
> After pressing =C-c C-c= five times
>
> #+BEGIN_SRC elisp :results verbatim
> (list 1 2 3)
> #+END_SRC
>
> #+RESULTS:
> #+begin_example
> (1 2 3)
> #+end_example
>
> PS: If you haven't customized Org Mode enough, you might get a ":" as
> the prefix of some of your results.
>
> #+BEGIN_SRC elisp :results verbatim
> (list 1 2 3)
> #+END_SRC
>
> #+RESULTS:
> : (1 2 3)
>
> As can be seen above, the results are not enclosed within
> #+begin_example and #+end_example. To enable this, set the following.
>
> #+BEGIN_SRC elisp
> (setq org-babel-min-lines-for-block-output 0)
> #+END_SRC
>
> Once you set the option shown above, you might get the following when
> evaluating the code block.
>
> #+BEGIN_SRC elisp :results verbatim
> (list 1 2 3)
> #+END_SRC
>
> #+RESULTS:
> #+begin_example
> (1 2 3)
> #+end_example
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: appearance of list as results from evaluating code blocks
@ 2021-06-24 14:23 Johannes Brauer
2021-06-24 16:28 ` John Kitchin
0 siblings, 1 reply; 13+ messages in thread
From: Johannes Brauer @ 2021-06-24 14:23 UTC (permalink / raw)
To: gmauer@gmail.com; +Cc: orgmode
[-- Attachment #1: Type: text/plain, Size: 403 bytes --]
What about :results code
The default is a elisp code block so you get syntax coloring
That works fore lisp:
#+begin_src elisp :results code
(list 1 2 (+ 1 2))
#+end_src
#+RESULTS:
#+begin_src elisp
(1 2 3)
#+end_src
But with Clojure I get
#+begin_src clojure :results code
(list 1 2 (+ 1 2))
#+end_src
#+RESULTS:
#+begin_src clojure
nil
#+end_src
[-- Attachment #2: Type: text/html, Size: 2824 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: appearance of list as results from evaluating code blocks
2021-06-24 14:23 Johannes Brauer
@ 2021-06-24 16:28 ` John Kitchin
2021-06-24 17:47 ` Johannes Brauer
0 siblings, 1 reply; 13+ messages in thread
From: John Kitchin @ 2021-06-24 16:28 UTC (permalink / raw)
To: Johannes Brauer; +Cc: gmauer@gmail.com, orgmode
[-- Attachment #1: Type: text/plain, Size: 1212 bytes --]
That probably means the clojure block is returning nil as the value. I
don't know what it means to return something in clojure, but here is what
you have to do with Python, for example.
#+BEGIN_SRC python :results value code
[1, 2, 3]
#+END_SRC
#+RESULTS:
#+begin_src python
None
#+end_src
You have to explicitly return a value to see it.
#+BEGIN_SRC python :results value code
return [1, 2, 3]
#+END_SRC
#+RESULTS:
#+begin_src python
[1, 2, 3]
#+end_src
John
-----------------------------------
Professor John Kitchin (he/him/his)
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu
On Thu, Jun 24, 2021 at 10:31 AM Johannes Brauer <brauer@nordakademie.de>
wrote:
> What about :results code
> The default is a elisp code block so you get syntax coloring
>
>
> That works fore lisp:
>
> #+begin_src elisp :results code
> (list 1 2 (+ 1 2))
> #+end_src
>
> #+RESULTS:
> #+begin_src elisp
> (1 2 3)
> #+end_src
>
> But with Clojure I get
>
> #+begin_src clojure :results code
> (list 1 2 (+ 1 2))
> #+end_src
>
> #+RESULTS:
> #+begin_src clojure
> nil
> #+end_src
>
>
[-- Attachment #2: Type: text/html, Size: 3430 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: appearance of list as results from evaluating code blocks
2021-06-24 16:28 ` John Kitchin
@ 2021-06-24 17:47 ` Johannes Brauer
2021-06-25 16:16 ` John Kitchin
0 siblings, 1 reply; 13+ messages in thread
From: Johannes Brauer @ 2021-06-24 17:47 UTC (permalink / raw)
To: John Kitchin; +Cc: gmauer@gmail.com, orgmode
[-- Attachment #1: Type: text/plain, Size: 1686 bytes --]
Hi John!
There is no „return“ in Lisp languages. The return value of (list 1 2 3) is (1 2 3). Clojure is a Lisp language similar to Elisp. So
#+begin_src clojure :results code
(list 1 2 (+ 1 2))
#+end_src
should work for Clojure as it does für Elisp.
Johannes
Am 24.06.2021 um 18:28 schrieb John Kitchin <jkitchin@andrew.cmu.edu<mailto:jkitchin@andrew.cmu.edu>>:
That probably means the clojure block is returning nil as the value. I don't know what it means to return something in clojure, but here is what you have to do with Python, for example.
#+BEGIN_SRC python :results value code
[1, 2, 3]
#+END_SRC
#+RESULTS:
#+begin_src python
None
#+end_src
You have to explicitly return a value to see it.
#+BEGIN_SRC python :results value code
return [1, 2, 3]
#+END_SRC
#+RESULTS:
#+begin_src python
[1, 2, 3]
#+end_src
John
-----------------------------------
Professor John Kitchin (he/him/his)
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu<http://kitchingroup.cheme.cmu.edu/>
On Thu, Jun 24, 2021 at 10:31 AM Johannes Brauer <brauer@nordakademie.de<mailto:brauer@nordakademie.de>> wrote:
What about :results code
The default is a elisp code block so you get syntax coloring
That works fore lisp:
#+begin_src elisp :results code
(list 1 2 (+ 1 2))
#+end_src
#+RESULTS:
#+begin_src elisp
(1 2 3)
#+end_src
But with Clojure I get
#+begin_src clojure :results code
(list 1 2 (+ 1 2))
#+end_src
#+RESULTS:
#+begin_src clojure
nil
#+end_src
[-- Attachment #2: Type: text/html, Size: 6350 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: appearance of list as results from evaluating code blocks
2021-06-24 17:47 ` Johannes Brauer
@ 2021-06-25 16:16 ` John Kitchin
2021-06-26 7:48 ` Tim Cross
0 siblings, 1 reply; 13+ messages in thread
From: John Kitchin @ 2021-06-25 16:16 UTC (permalink / raw)
To: Johannes Brauer; +Cc: gmauer@gmail.com, orgmode
[-- Attachment #1: Type: text/plain, Size: 2864 bytes --]
I think something is fishy in ob-clojure.
When I look at how it runs, it is not obvious it is returning anything.
Instead it is wrapping the body like this
"(clojure.pprint/pprint (do (list 1 2 (+ 1 2))))"
which I assume is going to stdout maybe?
With Cider I eventually got to this intermediate result, which looks like
maybe there is a terminating nil getting read from the repl that is
eventually chomped to "".
Result: (dict "status" ("done" "state") "id" "12" "out" "(1 2 3)\nnil\n"
"session" "c72a3a11-8982-4ead-a0bf-cb92a24a966c" "ns" "user" "value" "nil"
"changed-namespaces" (dict) "repl-type" "clj")
That is my best guess for why you don't see the output. This happens in the
function ob-clojure-eval-with-cider.
John
-----------------------------------
Professor John Kitchin (he/him/his)
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu
On Thu, Jun 24, 2021 at 1:47 PM Johannes Brauer <brauer@nordakademie.de>
wrote:
> Hi John!
>
> There is no „return“ in Lisp languages. The return value of (list 1 2 3)
> is (1 2 3). Clojure is a Lisp language similar to Elisp. So
>
> #+begin_src clojure :results code
>> (list 1 2 (+ 1 2))
>> #+end_src
>>
>
> should work for Clojure as it does für Elisp.
>
> Johannes
>
>
> Am 24.06.2021 um 18:28 schrieb John Kitchin <jkitchin@andrew.cmu.edu>:
>
> That probably means the clojure block is returning nil as the value. I
> don't know what it means to return something in clojure, but here is what
> you have to do with Python, for example.
>
> #+BEGIN_SRC python :results value code
> [1, 2, 3]
> #+END_SRC
>
> #+RESULTS:
> #+begin_src python
> None
> #+end_src
>
> You have to explicitly return a value to see it.
>
> #+BEGIN_SRC python :results value code
> return [1, 2, 3]
> #+END_SRC
>
> #+RESULTS:
> #+begin_src python
> [1, 2, 3]
> #+end_src
>
>
> John
>
> -----------------------------------
> Professor John Kitchin (he/him/his)
> Doherty Hall A207F
> Department of Chemical Engineering
> Carnegie Mellon University
> Pittsburgh, PA 15213
> 412-268-7803
> @johnkitchin
> http://kitchingroup.cheme.cmu.edu
>
>
>
> On Thu, Jun 24, 2021 at 10:31 AM Johannes Brauer <brauer@nordakademie.de>
> wrote:
>
>> What about :results code
>> The default is a elisp code block so you get syntax coloring
>>
>>
>> That works fore lisp:
>>
>> #+begin_src elisp :results code
>> (list 1 2 (+ 1 2))
>> #+end_src
>>
>> #+RESULTS:
>> #+begin_src elisp
>> (1 2 3)
>> #+end_src
>>
>> But with Clojure I get
>>
>> #+begin_src clojure :results code
>> (list 1 2 (+ 1 2))
>> #+end_src
>>
>> #+RESULTS:
>> #+begin_src clojure
>> nil
>> #+end_src
>>
>>
>
[-- Attachment #2: Type: text/html, Size: 6560 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: appearance of list as results from evaluating code blocks
2021-06-25 16:16 ` John Kitchin
@ 2021-06-26 7:48 ` Tim Cross
0 siblings, 0 replies; 13+ messages in thread
From: Tim Cross @ 2021-06-26 7:48 UTC (permalink / raw)
To: emacs-orgmode
John Kitchin <jkitchin@andrew.cmu.edu> writes:
> I think something is fishy in ob-clojure.
>
> When I look at how it runs, it is not obvious it is returning anything. Instead it is wrapping the body like this
>
> "(clojure.pprint/pprint (do (list 1 2 (+ 1 2))))"
>
> which I assume is going to stdout maybe?
>
> With Cider I eventually got to this intermediate result, which looks like maybe there is a terminating nil getting read from the repl that is eventually
> chomped to "".
>
> Result: (dict "status" ("done" "state") "id" "12" "out" "(1 2 3)\nnil\n" "session" "c72a3a11-8982-4ead-a0bf-cb92a24a966c" "ns" "user" "value" "nil"
> "changed-namespaces" (dict) "repl-type" "clj")
>
Yes, I think your probably correct.
If the form is wrapped in (clojure.pprint/pprint ....), then the 'code'
result from evaluation would indeed be nil as the return value for
pprint is nil.
The ob-clojure module is IMO a little 'odd' because it uses cider, so
there is another layer of indirection you don't see with other ob-*
which just run the code inside a language shell. I also find this
distinction between 'code' and 'value' a bit confusing at times. I can
see why something is needed (for example, when running shell scripts and
sometimes you want the 'output' and sometimes you want the exit code
etc. However, the distinction is less clear in some languages, like
clojure, where there is no real distinction i.e. how does code differ
from value as a result? What does 'code' really mean in this context?.
I think the ob-clojure library probably needs a bit of work. Since it
was originally written, clojure has moved on a bit and it would probably
make sense to look at possibly basing it on clj-tools rather than cider.
When I was trying to use it, I constantly ran into problems because
cider was evolving too rapidly and things kept breaking. I actually had
better success using the 'inf-clojure' interface, but that had issues
too (for example, with the :session switch).
Someone did send in a patch some months back which had a first go at
implementing support for clj-tools. I was too busy to review it at the
time., I later went to have a look at it and a message was sent to the
patch author for a copy of the most recent version of the patch, but
there was no response.
--
Tim Cross
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2021-06-26 8:02 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-23 19:27 appearance of list as results from evaluating code blocks Johannes Brauer
2021-06-23 19:43 ` Juan Manuel Macías
2021-06-23 20:03 ` Johannes Brauer
2021-06-23 21:13 ` Rodrigo Morales
2021-06-23 21:14 ` Rodrigo Morales
2021-06-23 21:24 ` George Mauer
2021-06-24 10:46 ` Johannes Brauer
2021-06-24 11:28 ` Eric S Fraga
-- strict thread matches above, loose matches on Subject: below --
2021-06-24 14:23 Johannes Brauer
2021-06-24 16:28 ` John Kitchin
2021-06-24 17:47 ` Johannes Brauer
2021-06-25 16:16 ` John Kitchin
2021-06-26 7:48 ` Tim Cross
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.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).