public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/19657] New: Namelist reading may be skipped if end with a logical variable
@ 2005-01-27 13:31 fuyuki at ccsr dot u-tokyo dot ac dot jp
  2005-04-18  7:59 ` [Bug libf2c/19657] " fxcoudert at gcc dot gnu dot org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: fuyuki at ccsr dot u-tokyo dot ac dot jp @ 2005-01-27 13:31 UTC (permalink / raw)
  To: gcc-bugs

If a namelist which contains a logical variable followed by the same one in a input file,
sometimes the second namelist is skipped to read.  Maybe the example following shows you
clearer.

      implicit none
      logical   l
      integer   i
      namelist /nm/ i, l
 100  continue 
      read(*,nm,end=190)
      write (*,nm)
      goto 100
 190  continue 
      stop
      end

This is an input file example.
 &nm i=1,l=t &end
 &nm i=2 &end
 &nm i=3 &end

Ant the output is like this:
% ./a.out < inputfile
&NM 
 I = 1, 
 L = T/
&NM 
 I = 3, 
 L = T/
#

The second one is skipped.
I found two method to avoid this feature.
One way is that put the logical variable at the position except for the very end:

 &nm l=t,i=1 &end

or

 &nm i=1,l=t,&end

The comma after `t' helps to avoid skipping the next one.
The other way is that use `/' instead of &end (maybe this is standard way).

I think there is something wrong with syntax analysis for the logical constant.

My environment is like this.

% g77 -v
Reading specs from /usr/lib/gcc/i486-linux/3.4.4/specs
Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --program-suffix=-3.4 --enable-__cxa_atexit --enable-libstdcxx-allocator=mt --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-gc=boehm --enable-java-awt=gtk --disable-werror i486-linux
Thread model: posix
gcc version 3.4.4 20041218 (prerelease) (Debian 3.4.3-6)

I have tried this program with other versions.  g77 3.3 has the same problem.
g77 2.95 does not.

-- 
           Summary: Namelist reading may be skipped if end with a logical
                    variable
           Product: gcc
           Version: 3.4.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: fuyuki at ccsr dot u-tokyo dot ac dot jp
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19657


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

* [Bug libf2c/19657] Namelist reading may be skipped if end with a logical variable
  2005-01-27 13:31 [Bug fortran/19657] New: Namelist reading may be skipped if end with a logical variable fuyuki at ccsr dot u-tokyo dot ac dot jp
@ 2005-04-18  7:59 ` fxcoudert at gcc dot gnu dot org
  2005-04-18 21:44 ` cvs-commit at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2005-04-18  7:59 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From fxcoudert at gcc dot gnu dot org  2005-04-18 07:59 -------
Confirm this bug. This is g77-only. Changed component to libf2c.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
          Component|fortran                     |libf2c
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-04-18 07:59:48
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19657


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

* [Bug libf2c/19657] Namelist reading may be skipped if end with a logical variable
  2005-01-27 13:31 [Bug fortran/19657] New: Namelist reading may be skipped if end with a logical variable fuyuki at ccsr dot u-tokyo dot ac dot jp
  2005-04-18  7:59 ` [Bug libf2c/19657] " fxcoudert at gcc dot gnu dot org
@ 2005-04-18 21:44 ` cvs-commit at gcc dot gnu dot org
  2005-04-23 16:20 ` pault at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-04-18 21:44 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-04-18 21:44 -------
Subject: Bug 19657

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	tobi@gcc.gnu.org	2005-04-18 21:44:24

Modified files:
	gcc/fortran    : ChangeLog 

Log message:
	Rewrap ChangeLog.  I'm listing the affected PRs so that they receive anot about this, even though the commit message for the original patch was empty.
	PR fortran/17472
	PR fortran/18209
	PR fortran/18396
	PR fortran/19467
	PR fortran/19657

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/ChangeLog.diff?cvsroot=gcc&r1=1.396&r2=1.397



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19657


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

* [Bug libf2c/19657] Namelist reading may be skipped if end with a logical variable
  2005-01-27 13:31 [Bug fortran/19657] New: Namelist reading may be skipped if end with a logical variable fuyuki at ccsr dot u-tokyo dot ac dot jp
  2005-04-18  7:59 ` [Bug libf2c/19657] " fxcoudert at gcc dot gnu dot org
  2005-04-18 21:44 ` cvs-commit at gcc dot gnu dot org
@ 2005-04-23 16:20 ` pault at gcc dot gnu dot org
  2005-06-05 23:35 ` cvs-commit at gcc dot gnu dot org
  2005-06-05 23:36 ` tobi at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: pault at gcc dot gnu dot org @ 2005-04-23 16:20 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pault at gcc dot gnu dot org  2005-04-23 16:19 -------
The namelist modifications implemented over the last week have resulted in 
namelist io that is compliant with the standard and this bug is fixed, as of 
GCC 4.1.0 20050423.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19657


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

* [Bug libf2c/19657] Namelist reading may be skipped if end with a logical variable
  2005-01-27 13:31 [Bug fortran/19657] New: Namelist reading may be skipped if end with a logical variable fuyuki at ccsr dot u-tokyo dot ac dot jp
                   ` (2 preceding siblings ...)
  2005-04-23 16:20 ` pault at gcc dot gnu dot org
@ 2005-06-05 23:35 ` cvs-commit at gcc dot gnu dot org
  2005-06-05 23:36 ` tobi at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-06-05 23:35 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-06-05 23:34 -------
Subject: Bug 19657

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-4_0-branch
Changes by:	tobi@gcc.gnu.org	2005-06-05 23:33:52

Modified files:
	gcc/fortran    : ChangeLog gfortran.texi trans-io.c 
	gcc/testsuite  : ChangeLog 
	gcc/testsuite/gfortran.dg: namelist_1.f90 
	libgfortran    : ChangeLog 
	libgfortran/io : io.h list_read.c lock.c transfer.c write.c 
Added files:
	gcc/testsuite/gfortran.dg: namelist_11.f namelist_12.f 
	                           namelist_13.f90 namelist_14.f90 
	                           namelist_15.f90 namelist_16.f90 
	                           namelist_17.f90 namelist_18.f90 
	                           namelist_19.f90 namelist_2.f90 
	                           namelist_20.f90 namelist_3.f90 
	                           pr12884.f pr17285.f90 pr17472.f 
	                           pr18122.f90 pr18210.f90 pr18392.f90 
	                           pr19467.f90 pr19657.f 

Log message:
	gcc/fortran/
	2005-06-05  Jakub Jelinek  <jakub@redhat.com>
	
	Backport from the mainline:
	2005-04-17 Paul Thomas <pault@gcc.gnu.org>
	
	PR fortran/17472
	PR fortran/18209
	PR fortran/18396
	PR fortran/19467
	PR fortran/19657
	* fortran/trans-io.c (gfc_build_io_library_fndecls): Create
	declaration for	st_set_nml_var and st_set_nml_var_dim. Remove
	declarations of old namelist functions.
	(build_dt): Simplified call to transfer_namelist_element.
	(nml_get_addr_expr): Generates address expression for start of
	object data. New function.
	(nml_full_name): Qualified name for derived type components. New
	function.
	(transfer_namelist_element): Modified for calls to new functions
	and improved derived type handling.
	
	libgfortran/
	2005-06-05  Jakub Jelinek  <jakub@redhat.com>
	
	Backport from the mainline:
	2005-04-18 Paul Thomas <pault@gcc.gnu.org>
	Jerry DeLisle <jvdelisle@verizon.net>
	
	* io/write.c (nml_write_obj): Provide 1 more byte for ext_name.
	* io/list_read.c (nml_get_obj_data): Put extra brackets in get_mem
	call for ext_name.  These fix the bug reported by Jerry DeLisle to
	the fortran list and are based on his suggested fix.
	
	2005-04-18 Paul Thomas <pault@gcc.gnu.org>
	
	* io/list_read.c (nml_touch_nodes, nml_read_obj,
	nml_get_obj_data): Fix memory leaks in code for derived types.
	
	2005-04-17 Paul Thomas <pault@gcc.gnu.org>
	
	* io/list_read.c (eat_separator): at_eol = 1 replaced
	(zapped at some time?).
	
	2005-04-17 Paul Thomas <pault@gcc.gnu.org>
	
	PR libgfortran/12884
	PR libgfortran/17285
	PR libgfortran/18122
	PR libgfortran/18210
	PR libgfortran/18392
	PR libgfortran/18591
	PR libgfortran/18879
	* io/io.h (nml_ls): Declare.
	(namelist_info): Modify for arrays.
	* io/list_read.c (namelist_read): Reduced to call to new functions.
	(match_namelist_name): Simplified.
	(nml_query): Handles stdin queries ? and =?. New function.
	(nml_get_obj_data): Parses object name. New function.
	(touch_nml_nodes): Marks objects for read. New function.
	(untouch_nml_nodes): Resets objects. New function.
	(parse_qualifier): Parses and checks qualifiers. New function
	(nml_read_object): Reads and stores object data. New function.
	(eat_separator): No new_record on '/' in namelist.
	(finish_separator): No new_record on '/' in namelist.
	(read_logical): Error return for namelist.
	(read_integer): Error return for namelist.
	(read_complex): Error return for namelist.
	(read_real): Error return for namelist.
	* io/lock.c (library_end): Free extended namelist_info types.
	* io/transfer.c (st_set_nml_var): Modified for arrays.
	(st_set_nml_var_dim): Dimension descriptors. New function.
	* io/write.c (namelist_write): Reduced to call to new functions.
	(nml_write_obj): Writes output for object. New function.
	(write_integer): Suppress leading blanks for repeat counts.
	(write_int): Suppress leading blanks for repeat counts.
	(write_float): Suppress leading blanks for repeat counts.
	(output_float): Suppress leading blanks for repeat counts.
	
	gcc/testsuite/
	2005-06-05  Jakub Jelinek  <jakub@redhat.com>
	
	Backport from the mainline:
	2005-04-17 Paul Thomas <pault@gcc.gnu.org>
	
	PR fortran/17472
	PR fortran/18209
	PR fortran/18396
	PR fortran/19467
	PR fortran/19657
	* fortran/trans-io.c (gfc_build_io_library_fndecls): Create
	declaration for	st_set_nml_var and st_set_nml_var_dim. Remove
	declarations of old namelist functions.
	(build_dt): Simplified call to transfer_namelist_element.
	(nml_get_addr_expr): Generates address expression for start of
	object data. New function.
	(nml_full_name): Qualified name for derived type components. New
	function.
	(transfer_namelist_element): Modified for calls to new functions
	and improved derived type handling.
	
	PR libfortran/12884 gfortran.dg/pr12884.f: New test
	PR libfortran/17285 gfortran.dg/pr17285.f90: New test
	PR libfortran/17472, 18396, 18209 gfortran.dg/pr17472.f: New test
	PR libfortran/18122, 18591 gfortran.dg/pr18122.f90: New test
	PR libfortran/18210 gfortran.dg/pr18210.f90: New test
	PR libfortran/18392 gfortran.dg/pr18392.f90: New test
	PR libfortran/19467 gfortran.dg/pr19467.f90: New test
	PR libfortran/19657 gfortran.dg/pr19657.f90: New test
	* gfortran.dg/namelist_1.f90: Correct comment (PUBLIC and PRIVATE wrong way round).
	* gfortran.dg/namelist_2.f90: Variables with INTENT(IN) cannot be in namelists. New test
	* gfortran.dg/namelist_3.f90: Pointers cannot be in namelists. New test
	* gfortran.dg/namelist_11.f: Tests reals and qualifiers in namelist. New test
	* gfortran.dg/namelist_12.f: Tests integers and qualifiers in namelist. New test
	* gfortran.dg/namelist_13.f90: Tests derived types in namelist. New test
	* gfortran.dg/namelist_14.f90: Tests trans-io.c namelist support. New test
	* gfortran.dg/namelist_15.f90: Tests arrays of derived types in namelist. New test
	* gfortran.dg/namelist_16.f90: Tests complex in namelist. New test
	* gfortran.dg/namelist_17.f90: Tests logical in namelist. New test
	* gfortran.dg/namelist_18.f90: Tests charcter delimiters in namelist. New test
	* gfortran.dg/namelist_19.f90: Tests namelist errors. New test
	* gfortran.dg/namelist_20.f90: Tests negative bounds for explicit arrays. New test

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.335.2.70&r2=1.335.2.71
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/gfortran.texi.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.10.8.2&r2=1.10.8.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-io.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.33.2.2&r2=1.33.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.233&r2=1.5084.2.234
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/namelist_11.f.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/namelist_12.f.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/namelist_13.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/namelist_14.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/namelist_15.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/namelist_16.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/namelist_17.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/namelist_18.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/namelist_19.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/namelist_2.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/namelist_20.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/namelist_3.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/pr12884.f.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/pr17285.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/pr17472.f.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/pr18122.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/pr18210.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/pr18392.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/pr19467.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/pr19657.f.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/namelist_1.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1&r2=1.1.18.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.163.2.47&r2=1.163.2.48
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/io/io.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.16.10.1&r2=1.16.10.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/io/list_read.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.14.2.1&r2=1.14.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/io/lock.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5&r2=1.5.12.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/io/transfer.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.32.2.4&r2=1.32.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/io/write.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.23.2.7&r2=1.23.2.8



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19657


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

* [Bug libf2c/19657] Namelist reading may be skipped if end with a logical variable
  2005-01-27 13:31 [Bug fortran/19657] New: Namelist reading may be skipped if end with a logical variable fuyuki at ccsr dot u-tokyo dot ac dot jp
                   ` (3 preceding siblings ...)
  2005-06-05 23:35 ` cvs-commit at gcc dot gnu dot org
@ 2005-06-05 23:36 ` tobi at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: tobi at gcc dot gnu dot org @ 2005-06-05 23:36 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.0.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19657


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

end of thread, other threads:[~2005-06-05 23:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-27 13:31 [Bug fortran/19657] New: Namelist reading may be skipped if end with a logical variable fuyuki at ccsr dot u-tokyo dot ac dot jp
2005-04-18  7:59 ` [Bug libf2c/19657] " fxcoudert at gcc dot gnu dot org
2005-04-18 21:44 ` cvs-commit at gcc dot gnu dot org
2005-04-23 16:20 ` pault at gcc dot gnu dot org
2005-06-05 23:35 ` cvs-commit at gcc dot gnu dot org
2005-06-05 23:36 ` tobi at gcc dot gnu dot org

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