emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master d499abf: Merge branch 'scratch/gnus-mock'


From: Eric Abrahamsen
Subject: [elpa] master d499abf: Merge branch 'scratch/gnus-mock'
Date: Thu, 11 Oct 2018 14:14:16 -0400 (EDT)

branch: master
commit d499abf85802a3fe6c645ca7cf0ac36acbafe85e
Merge: 5b849e3 ee8800c
Author: Eric Abrahamsen <address@hidden>
Commit: Eric Abrahamsen <address@hidden>

    Merge branch 'scratch/gnus-mock'
---
 packages/gnus-mock/data/.gnus.el                   |  39 ++++
 packages/gnus-mock/data/.newsrc.eld                |  11 ++
 packages/gnus-mock/data/etc/images/gnus/gnus.png   | Bin 0 -> 47709 bytes
 packages/gnus-mock/data/fakesendmail.py            |  36 ++++
 .../.nnmaildir/nov/1539191672.M313936P10717Q0.slip |   1 +
 .../gnus-mock/data/test/Welcome/.nnmaildir/num/1   |   0
 .../Welcome/cur/1539191672.M313936P10717Q0.slip:2, |  27 +++
 .../.nnmaildir/nov/1539195763.M178661P30788Q0.slip |   1 +
 .../.nnmaildir/nov/1539195763.M331584P30788Q1.slip |   1 +
 .../.nnmaildir/nov/1539195763.M436061P30788Q2.slip |   1 +
 .../.nnmaildir/nov/1539195763.M545093P30788Q3.slip |   1 +
 .../.nnmaildir/nov/1539195763.M654298P30788Q4.slip |   1 +
 .../.nnmaildir/nov/1539195763.M767212P30788Q5.slip |   1 +
 .../.nnmaildir/nov/1539195763.M886152P30788Q6.slip |   1 +
 .../.nnmaildir/nov/1539195764.M476788P30788Q0.slip |   1 +
 .../.nnmaildir/nov/1539195764.M595165P30788Q1.slip |   1 +
 .../.nnmaildir/nov/1539195764.M714508P30788Q2.slip |   1 +
 .../.nnmaildir/nov/1539195764.M834837P30788Q3.slip |   1 +
 .../.nnmaildir/nov/1539195764.M951919P30788Q4.slip |   1 +
 .../.nnmaildir/nov/1539195765.M185364P30788Q1.slip |   1 +
 .../.nnmaildir/nov/1539195765.M300193P30788Q2.slip |   1 +
 .../.nnmaildir/nov/1539195765.M68113P30788Q0.slip  |   1 +
 .../gnus-mock/data/test/mails/.nnmaildir/num/1     |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/10    |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/11    |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/12    |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/13    |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/14    |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/15    |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/16    |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/2     |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/3     |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/4     |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/5     |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/6     |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/7     |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/8     |   0
 .../gnus-mock/data/test/mails/.nnmaildir/num/9     |   0
 .../mails/cur/1539195763.M178661P30788Q0.slip:2,   |  44 +++++
 .../mails/cur/1539195763.M331584P30788Q1.slip:2,   |  83 ++++++++
 .../mails/cur/1539195763.M436061P30788Q2.slip:2,   |  42 +++++
 .../mails/cur/1539195763.M545093P30788Q3.slip:2,   |  37 ++++
 .../mails/cur/1539195763.M654298P30788Q4.slip:2,   | 151 +++++++++++++++
 .../mails/cur/1539195763.M767212P30788Q5.slip:2,   |  40 ++++
 .../mails/cur/1539195763.M886152P30788Q6.slip:2,   |  56 ++++++
 .../mails/cur/1539195764.M476788P30788Q0.slip:2,   |  97 ++++++++++
 .../mails/cur/1539195764.M595165P30788Q1.slip:2,   |  82 ++++++++
 .../mails/cur/1539195764.M714508P30788Q2.slip:2,   |  45 +++++
 .../mails/cur/1539195764.M834837P30788Q3.slip:2,   |  61 ++++++
 .../mails/cur/1539195764.M951919P30788Q4.slip:2,   |  50 +++++
 .../mails/cur/1539195765.M185364P30788Q1.slip:2,   |  28 +++
 .../mails/cur/1539195765.M300193P30788Q2.slip:2,   |  48 +++++
 .../mails/cur/1539195765.M68113P30788Q0.slip:2,    |  75 ++++++++
 packages/gnus-mock/gnus-mock.el                    | 209 +++++++++++++++++++++
 54 files changed, 1277 insertions(+)

diff --git a/packages/gnus-mock/data/.gnus.el b/packages/gnus-mock/data/.gnus.el
new file mode 100644
index 0000000..75df8d9
--- /dev/null
+++ b/packages/gnus-mock/data/.gnus.el
@@ -0,0 +1,39 @@
+;;; Settings for Gnus mock sessions.  Do not edit this file, instead
+;;; add further customizations to the file indicated by
+;;; `gnus-mock-settings-file'.
+
+(setq gnus-select-method
+      `(nnmaildir
+        "Test"
+        (directory ,(file-name-as-directory
+                    (expand-file-name "test" gnus-home-directory)))
+       (get-new-mail nil)))
+
+(setq user-mail-address "address@hidden"
+      user-full-name "Mock Turtle")
+
+;; `sendmail-program' has already been set to fakesendmail.py in the
+;; init file.
+(setq message-send-mail-function #'message-send-mail-with-sendmail)
+
+(defun gnus-mock-reload ()
+  "Restore the gnus mock data.
+Restores all data in the mock data dir.  In some cases it might
+work better simply to kill the mock Emacs process and start over
+again."
+  (interactive)
+  (when (gnus-alive-p)
+    (gnus-group-exit))
+  (if (not gnus-mock-p)
+      (message "Only use this command in a Gnus mock session")
+    (when (y-or-n-p (format "Trash and restore %s? "
+                           gnus-home-directory))
+     (delete-directory gnus-home-directory t)
+     (copy-directory gnus-mock-data-dir
+                    gnus-home-directory nil nil t)
+     (gnus-read-init-file)
+     (message "Mock Gnus data restored"))))
+
+(add-hook 'gnus-started-hook (lambda ()
+                              (unless sendmail-program
+                                (message "Python unavailable on this system, 
you won't be able to send mail"))))
diff --git a/packages/gnus-mock/data/.newsrc.eld 
b/packages/gnus-mock/data/.newsrc.eld
new file mode 100644
index 0000000..1feefc2
--- /dev/null
+++ b/packages/gnus-mock/data/.newsrc.eld
@@ -0,0 +1,11 @@
+;; -*- mode:emacs-lisp; coding: utf-8-emacs; -*-
+;; Gnus startup file.
+;; Never delete this file -- if you want to force Gnus to read the
+;; .newsrc file (if you have one), touch .newsrc instead.
+(setq gnus-newsrc-file-version "Gnus v5.13")
+
+(setq gnus-newsrc-last-checked-date '"Tue, 01 May 2018 12:15:27 -0700")
+
+(setq gnus-newsrc-alist '(("nndraft:queue" 3 nil nil (nndraft "")) ("Welcome" 
3 ((1)) nil) ("mails" 3 nil nil) ("incoming" 3 nil nil nil) ("nndraft:drafts" 1 
nil nil (nndraft "") ((gnus-dummy (gnus-draft-mode))))))
+
+(setq gnus-server-alist '(("archive" nnfolder "archive" (nnfolder-directory 
"REPLACE_ME/archive") (nnfolder-active-file "REPLACE_ME/archive/active") 
(nnfolder-get-new-mail nil) (nnfolder-inhibit-expiry t))))
diff --git a/packages/gnus-mock/data/etc/images/gnus/gnus.png 
b/packages/gnus-mock/data/etc/images/gnus/gnus.png
new file mode 100644
index 0000000..aea4999
Binary files /dev/null and b/packages/gnus-mock/data/etc/images/gnus/gnus.png 
differ
diff --git a/packages/gnus-mock/data/fakesendmail.py 
b/packages/gnus-mock/data/fakesendmail.py
new file mode 100755
index 0000000..8307128
--- /dev/null
+++ b/packages/gnus-mock/data/fakesendmail.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+import argparse
+import sys
+import os
+import datetime
+
+incoming_dir = os.path.join(sys.path[0], "test/incoming/new")
+message_f_name = "message"
+
+# Arguments set up to match what message-send-mail-with-sendmail uses.
+# Currently all these arguments are ignored except for the message
+# itself.
+parser = argparse.ArgumentParser(description='Pretend that we are sendmail.')
+parser.add_argument('message', default=sys.stdin, nargs='?',
+                    type=argparse.FileType("r"), help="Message to send")
+parser.add_argument("-oi", nargs='?', const="nothing",
+                    default="nothing", help="Extra args")
+parser.add_argument("-oem", action='store_true', help="Report errors by mail")
+parser.add_argument("-odb", action='store_true', help="Deliver in background")
+parser.add_argument("-f", dest="from", help="From address")
+parser.add_argument("-t", action='store_true',
+                    help="Extract To address from message")
+
+args = parser.parse_args()
+
+counter = 0
+while message_f_name in os.listdir(incoming_dir):
+    message_f_name = "%s_%d" % (message_f_name, counter)
+    counter += 1
+
+with open(os.path.join(incoming_dir, message_f_name), "w") as message_file:
+    message_file.write("Received: from Gnus mock fakemail program on %s\n" %
+                       datetime.datetime.now().strftime("%c"))
+    for line in args.message:
+        message_file.write(line)
diff --git 
a/packages/gnus-mock/data/test/Welcome/.nnmaildir/nov/1539191672.M313936P10717Q0.slip
 
b/packages/gnus-mock/data/test/Welcome/.nnmaildir/nov/1539191672.M313936P10717Q0.slip
new file mode 100644
index 0000000..0b17532
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/Welcome/.nnmaildir/nov/1539191672.M313936P10717Q0.slip
@@ -0,0 +1 @@
+[1 1 "<address@hidden>" ["Welcome!     Eric Abrahamsen <address@hidden>        
Wed, 10 Oct 2018 10:14:23 -0700" "      1065    17" "To: address@hidden" (23486 
15390 438409 250000) (To Newsgroups Cc)]]
\ No newline at end of file
diff --git a/packages/gnus-mock/data/test/Welcome/.nnmaildir/num/1 
b/packages/gnus-mock/data/test/Welcome/.nnmaildir/num/1
new file mode 100644
index 0000000..e69de29
diff --git 
a/packages/gnus-mock/data/test/Welcome/cur/1539191672.M313936P10717Q0.slip:2, 
b/packages/gnus-mock/data/test/Welcome/cur/1539191672.M313936P10717Q0.slip:2,
new file mode 100644
index 0000000..447bad4
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/Welcome/cur/1539191672.M313936P10717Q0.slip:2,
@@ -0,0 +1,27 @@
+Received: from Gnus mock fakemail program on Wed Oct 10 10:14:23 2018
+From: Eric Abrahamsen <address@hidden>
+To: address@hidden
+Subject: Welcome!
+Date: Wed, 10 Oct 2018 10:14:23 -0700
+Message-ID: <address@hidden>
+User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)
+MIME-Version: 1.0
+Content-Type: text/plain
+
+Welcome to Gnus mock, a trashable, restorable testing environment for
+Gnus.  Everything you do to this environment will be temporary, and you
+can wipe the slate clean by killing this Emacs process and calling M-x
+gnus-mock-start again, from your main Emacs process.
+
+You can also call M-x gnus-mock-reload at any time to shut down Gnus and
+replace the original data.  Depending on what you've done to Gnus in the
+meantime, however, this might not fully restore a clean environment.
+
+All messages sent from this Gnus installation will end up in the
+"incoming" mailbox of the "Test" nnmaildir server.
+
+Email Eric at address@hidden with bug reports and suggestions
+(don't email me from here, obviously!).
+
+Yours,
+Eric
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M178661P30788Q0.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M178661P30788Q0.slip
new file mode 100644
index 0000000..4bae17d
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M178661P30788Q0.slip
@@ -0,0 +1 @@
+[1 2 "<address@hidden>" ["Re: [Emacs-devel] Emacs move Dave Love 
<address@hidden>      Thu, 14 Sep 2000 11:10:46 +0100" "<address@hidden>      
1882    16" "Cc: address@hidden, address@hidden To: Jeff Bailey 
<address@hidden>" (23486 17512 678023 999000) (To Newsgroups Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M331584P30788Q1.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M331584P30788Q1.slip
new file mode 100644
index 0000000..a349e44
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M331584P30788Q1.slip
@@ -0,0 +1 @@
+[1 3 "<address@hidden>" ["Re: [Emacs-devel] Emacs move Sam Steingold 
<address@hidden>  14 Sep 2000 10:21:56 -0400" "<address@hidden>   2991    50" 
"Cc: address@hidden, address@hidden To: Jeff Bailey <address@hidden>" (23486 
17512 678023 999000) (To Newsgroups Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M436061P30788Q2.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M436061P30788Q2.slip
new file mode 100644
index 0000000..f6bffde
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M436061P30788Q2.slip
@@ -0,0 +1 @@
+[1 4 "<address@hidden>" ["Re: [Emacs-devel] Emacs move Jeff Bailey 
<address@hidden>    Thu, 14 Sep 2000 09:14:47 -0700" "<address@hidden> 
<address@hidden>     1780    15" "Cc: address@hidden, address@hidden To: 
address@hidden, Jeff Bailey <address@hidden>" (23486 17512 678023 999000) (To 
Newsgroups Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M545093P30788Q3.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M545093P30788Q3.slip
new file mode 100644
index 0000000..5232369
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M545093P30788Q3.slip
@@ -0,0 +1 @@
+[1 5 "<address@hidden>" ["Re: [Emacs-devel] Emacs move Dave Love 
<address@hidden>      Thu, 14 Sep 2000 18:24:36 +0100" "<address@hidden>      
1343    9" "Cc: address@hidden, address@hidden  To: Jeff Bailey 
<address@hidden>" (23486 17512 678023 999000) (To Newsgroups Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M654298P30788Q4.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M654298P30788Q4.slip
new file mode 100644
index 0000000..722c0cd
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M654298P30788Q4.slip
@@ -0,0 +1 @@
+[1 6 "<address@hidden>" ["Re: [Emacs-devel] Emacs move Karl Fogel 
<address@hidden>     14 Sep 2000 10:37:35 -0500" "<address@hidden> 
<address@hidden>  3740    124" "Cc: Jeff Bailey <address@hidden>, 
address@hidden, address@hidden  To: Dave Love <address@hidden>" (23486 17512 
678023 999000) (To Newsgroups Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M767212P30788Q5.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M767212P30788Q5.slip
new file mode 100644
index 0000000..65c1e43
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M767212P30788Q5.slip
@@ -0,0 +1 @@
+[1 7 "<address@hidden>" ["Re: [Emacs-devel] Emacs move Jeff Bailey 
<address@hidden>    Thu, 14 Sep 2000 10:55:12 -0700" "<address@hidden> 
<address@hidden> <address@hidden>    1687    16" "Cc: Jeff Bailey 
<address@hidden>, address@hidden, address@hidden   To: address@hidden, Dave 
Love <address@hidden>" (23486 17512 678023 999000) (To Newsgroups Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M886152P30788Q6.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M886152P30788Q6.slip
new file mode 100644
index 0000000..4bd6a0e
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195763.M886152P30788Q6.slip
@@ -0,0 +1 @@
+[1 8 "<address@hidden>" ["Re: [Emacs-devel] Emacs move John Wiegley 
<address@hidden>   Thu, 14 Sep 2000 12:19:01 -0700" "<address@hidden>      1978 
   27" "To: address@hidden" (23486 17512 678023 999000) (To Newsgroups Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M476788P30788Q0.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M476788P30788Q0.slip
new file mode 100644
index 0000000..bee6c0f
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M476788P30788Q0.slip
@@ -0,0 +1 @@
+[1 9 "<address@hidden>" ["Re: [Emacs-devel] Emacs move \"Robert J. Chassell\" 
<address@hidden> Thu, 14 Sep 2000 07:33:15 -0400 (EDT)" "<address@hidden>       
 3046    72" "Cc: address@hidden, address@hidden To: address@hidden" (23486 
17512 678023 999000) (To Newsgroups Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M595165P30788Q1.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M595165P30788Q1.slip
new file mode 100644
index 0000000..d1f9962
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M595165P30788Q1.slip
@@ -0,0 +1 @@
+[1 10 "<address@hidden>" ["Re: [Emacs-devel] Emacs move        address@hidden 
(William M. Perry)       14 Sep 2000 09:10:25 -0500" "<address@hidden> 
<address@hidden>  3104    44" "Cc: address@hidden, address@hidden, 
address@hidden To: address@hidden" (23486 17512 678023 999000) (To Newsgroups 
Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M714508P30788Q2.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M714508P30788Q2.slip
new file mode 100644
index 0000000..7c42fbf
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M714508P30788Q2.slip
@@ -0,0 +1 @@
+[1 11 "<address@hidden>" ["Re: [Emacs-devel] Emacs move        Gerd Moellmann 
<address@hidden> Thu, 14 Sep 2000 21:51:05 +0200 (CEST)" "<address@hidden> 
<address@hidden> <address@hidden>     1884    6" "Cc: address@hidden, 
address@hidden, address@hidden, address@hidden  To: address@hidden" (23486 
17512 678023 999000) (To Newsgroups Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M834837P30788Q3.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M834837P30788Q3.slip
new file mode 100644
index 0000000..454d213
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M834837P30788Q3.slip
@@ -0,0 +1 @@
+[1 12 "<address@hidden>" ["Re: [Emacs-devel] Emacs move        Gerd Moellmann 
<address@hidden> Thu, 14 Sep 2000 21:49:03 +0200 (CEST)" "<address@hidden> 
<address@hidden>      2408    24" "Cc: address@hidden, address@hidden, 
address@hidden To: address@hidden" (23486 17512 678023 999000) (To Newsgroups 
Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M951919P30788Q4.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M951919P30788Q4.slip
new file mode 100644
index 0000000..4d85729
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195764.M951919P30788Q4.slip
@@ -0,0 +1 @@
+[1 13 "<address@hidden>" ["Re: [Emacs-devel] Emacs move        \"Robert J. 
Chassell\" <address@hidden> Thu, 14 Sep 2000 17:50:01 -0400 (EDT)" 
"<address@hidden> <address@hidden> <address@hidden>      1968    23" "Cc: 
address@hidden, address@hidden, address@hidden, address@hidden To: 
address@hidden" (23486 17512 678023 999000) (To Newsgroups Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195765.M185364P30788Q1.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195765.M185364P30788Q1.slip
new file mode 100644
index 0000000..de98584
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195765.M185364P30788Q1.slip
@@ -0,0 +1 @@
+[1 14 "<address@hidden>" ["Re: [Emacs-devel] Emacs move        Richard 
Stallman <address@hidden>       Fri, 15 Sep 2000 16:28:12 -0600 (MDT)" 
"<address@hidden> <address@hidden>       1288    2" "To: address@hidden, 
address@hidden, address@hidden" (23486 17512 678023 999000) (To Newsgroups Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195765.M300193P30788Q2.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195765.M300193P30788Q2.slip
new file mode 100644
index 0000000..8835f53
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195765.M300193P30788Q2.slip
@@ -0,0 +1 @@
+[1 15 "<address@hidden>" ["[Emacs-devel] Emacs move    Jeff Bailey 
<address@hidden>    Wed, 13 Sep 2000 17:59:43 -0700" "      1661    26" "Cc: 
address@hidden To: address@hidden" (23486 17512 678023 999000) (To Newsgroups 
Cc)]]
\ No newline at end of file
diff --git 
a/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195765.M68113P30788Q0.slip
 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195765.M68113P30788Q0.slip
new file mode 100644
index 0000000..fd2f590
--- /dev/null
+++ 
b/packages/gnus-mock/data/test/mails/.nnmaildir/nov/1539195765.M68113P30788Q0.slip
@@ -0,0 +1 @@
+[1 16 "<address@hidden>" ["Re: [Emacs-devel] Emacs move        Jeff Bailey 
<address@hidden>    Fri, 15 Sep 2000 22:00:12 -0700" "<address@hidden> 
<address@hidden> <address@hidden> <address@hidden>   2857    51" "Cc: 
address@hidden, address@hidden, address@hidden To: address@hidden, 
address@hidden" (23486 17512 678023 999000) (To Newsgroups Cc)]]
\ No newline at end of file
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/1 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/1
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/10 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/10
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/11 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/11
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/12 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/12
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/13 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/13
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/14 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/14
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/15 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/15
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/16 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/16
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/2 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/2
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/3 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/3
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/4 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/4
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/5 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/5
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/6 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/6
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/7 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/7
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/8 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/8
new file mode 100644
index 0000000..e69de29
diff --git a/packages/gnus-mock/data/test/mails/.nnmaildir/num/9 
b/packages/gnus-mock/data/test/mails/.nnmaildir/num/9
new file mode 100644
index 0000000..e69de29
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195763.M178661P30788Q0.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195763.M178661P30788Q0.slip:2,
new file mode 100644
index 0000000..ab85ad3
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195763.M178661P30788Q0.slip:2,
@@ -0,0 +1,44 @@
+From address@hidden  Thu Sep 14 06:11:17 2000
+Received: from djlvig.dl.ac.uk (djlvig.dl.ac.uk [148.79.112.146])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id GAA00773;
+       Thu, 14 Sep 2000 06:11:14 -0400
+Received: (from address@hidden)
+       by djlvig.dl.ac.uk (8.8.7/8.8.5) id LAA26351;
+       Thu, 14 Sep 2000 11:10:46 +0100
+Date: Thu, 14 Sep 2000 11:10:46 +0100
+Message-Id: <address@hidden>
+X-Authentication-Warning: djlvig.dl.ac.uk: fx set sender to address@hidden 
using -f
+To: Jeff Bailey <address@hidden>
+Cc: address@hidden, address@hidden
+Subject: Re: [Emacs-devel] Emacs move
+References: <address@hidden>
+From: Dave Love <address@hidden>
+In-Reply-To: Jeff Bailey's message of "Wed, 13 Sep 2000 17:59:43 -0700"
+User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/21.0.90
+MIME-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Lines: 16
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+>>>>> "JB" == Jeff Bailey <address@hidden> writes:
+
+ JB> There are a few clever scripts floating around for changing the root of
+ JB> an already checked-out repository to a new one.  If you know of one that
+ JB> works, please post it and cc: me so I can give it to others.
+
+Obviously it's most tasteful to do it in Emacs with M-x grep-find and
+keyboard macros or similar.  However this worked for me in the
+top-level of the Emacs tree, doubtless not optimally:
+
+  for i in `find . -name Root`; do echo :pserver:address@hidden:/cvs >$i; done
+  for i in `find . -name Repository`; do echo $i | sed -e 
's,^\(.*\)/CVS/Repository,emacs/\1,' >$i; done
+
+I can do checkouts, but I see errors like:
+
+  cvs server: cannot read /cvs/emacs/./src/CVS/fileattr: Permission denied
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195763.M331584P30788Q1.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195763.M331584P30788Q1.slip:2,
new file mode 100644
index 0000000..2860fe0
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195763.M331584P30788Q1.slip:2,
@@ -0,0 +1,83 @@
+From address@hidden  Thu Sep 14 10:26:04 2000
+Received: from sanpietro.red-bean.com (sanpietro.red-bean.com [206.69.89.65])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id KAA17597;
+       Thu, 14 Sep 2000 10:26:03 -0400
+Received: from xchange.com (centurion3.exapps.com [12.25.11.194])
+       by sanpietro.red-bean.com (8.9.3/8.9.3/Debian 8.9.3-21) with ESMTP id 
JAA07920;
+       Thu, 14 Sep 2000 09:26:01 -0500
+X-Authentication-Warning: sanpietro.red-bean.com: Host centurion3.exapps.com 
[12.25.11.194] claimed to be xchange.com
+To: Jeff Bailey <address@hidden>
+Cc: address@hidden, address@hidden
+Subject: Re: [Emacs-devel] Emacs move
+References: <address@hidden>
+Reply-To: address@hidden
+X-Attribution: Sam
+X-Disclaimer: You should not expect anyone to agree with me.
+Mail-Copies-To: never
+From: Sam Steingold <address@hidden>
+In-Reply-To: Jeff Bailey's message of "Wed, 13 Sep 2000 17:59:43 -0700"
+User-Agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/20.7
+Date: 14 Sep 2000 10:21:56 -0400
+Message-ID: <address@hidden>
+Lines: 50
+MIME-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+> * In message <address@hidden>
+> * On the subject of "[Emacs-devel] Emacs move"
+> * Sent on Wed, 13 Sep 2000 17:59:43 -0700
+> * Honorable Jeff Bailey <address@hidden> writes:
+>
+> Some of your accounts have still not been setup correctly, if I
+> haven't got them by this weekend, you've probably dropped off my
+> radar.  Please remind me.
+
+"cvs login" (:pserver) and "cvs update" are extraordinarily slow.
+is this okay?
+
+> For information on how to access your repository, please look at
+> http://www.gnu.org/software/devel.html#CVS
+
+this page claims that I can use SSH.
+I will have to put .ssh/identity.pub into subversions:~sds, right?
+how do I do this?
+
+> There are a few clever scripts floating around for changing the root
+> of an already checked-out repository to a new one.  If you know of one
+> that works, please post it and cc: me so I can give it to others.
+
+-----------------------------------------
+#!/bin/sh
+# change the CVS Root
+# usage:
+# cd /usr/local/src/emacs
+# find . -type d -name CVS -exec chcvsroot {} \;
+
+ROOTO="anoncvs.gnu.org:/gd/gnu/cvsroot";
+ROOT="subversions.gnu.org:/cvs";
+REPOO="/gd/gnu/cvsroot";
+REPO="/cvs";
+
+FF=$1;
+echo " - "${FF}
+sed "s?${ROOTO}?${ROOT}?" ${FF}/Root > ${FF}.tmp
+mv ${FF}.tmp ${FF}/Root
+sed "s?${REPOO}?${REPO}?" ${FF}/Repository > ${FF}.tmp
+mv ${FF}.tmp ${FF}/Repository
+-----------------------------------------
+
+Thanks.
+
+--
+Sam Steingold (http://www.podval.org/~sds)
+Micros**t is not the answer.  Micros**t is a question, and the answer is Linux,
+(http://www.linux.org) the choice of the GNU (http://www.gnu.org) generation.
+Our business is run on trust.  We trust you will pay in advance.
+
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195763.M436061P30788Q2.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195763.M436061P30788Q2.slip:2,
new file mode 100644
index 0000000..bf1c58e
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195763.M436061P30788Q2.slip:2,
@@ -0,0 +1,42 @@
+From address@hidden  Thu Sep 14 12:21:34 2000
+Received: from duke.electric.net (duke.electric.net [216.18.11.193])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with SMTP id MAA10290
+       for <address@hidden>; Thu, 14 Sep 2000 12:21:32 -0400
+Received: (qmail 32519 invoked by uid 1009); 14 Sep 2000 16:14:50 -0000
+Received: from mainsrvr.nisa.net(207.194.212.4), claiming to be 
"sparky.nisa.net"
+ via SMTP by duke.electric.net, id smtpdz32410; Thu Sep 14 09:14:46 2000
+Received: (from address@hidden) by sparky.nisa.net (8.9.3/nisa4.7) id 
JAA10835; Thu, 14 Sep 2000 09:14:48 -0700
+X-MailHub: mail.nisa.net
+Message-ID: <address@hidden>
+Date: Thu, 14 Sep 2000 09:14:47 -0700
+From: Jeff Bailey <address@hidden>
+To: address@hidden, Jeff Bailey <address@hidden>
+Cc: address@hidden, address@hidden
+Subject: Re: [Emacs-devel] Emacs move
+References: <address@hidden> <address@hidden>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+X-Mailer: Mutt 0.91
+In-Reply-To: <address@hidden>; from Sam Steingold on Thu, Sep 14, 2000 at 
10:21:56AM -0400
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+On Thu, Sep 14, 2000 at 10:21:56AM -0400, Sam Steingold wrote:
+
+> this page claims that I can use SSH.
+> I will have to put .ssh/identity.pub into subversions:~sds, right?
+> how do I do this?
+
+By sending it to me.  If you've got lsh we support that too (Just send
+the DSA key).
+
+--
+"It is easy to be blinded to the essential uselessness of computers by
+the sense of accomplishment you get from getting them to work at all."
+ - Douglas Adams
+
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195763.M545093P30788Q3.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195763.M545093P30788Q3.slip:2,
new file mode 100644
index 0000000..a1e3036
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195763.M545093P30788Q3.slip:2,
@@ -0,0 +1,37 @@
+From address@hidden  Thu Sep 14 13:25:12 2000
+Received: from djlvig.dl.ac.uk (djlvig.dl.ac.uk [148.79.112.146])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id NAA23692;
+       Thu, 14 Sep 2000 13:25:05 -0400
+Received: (from address@hidden)
+       by djlvig.dl.ac.uk (8.8.7/8.8.5) id SAA26807;
+       Thu, 14 Sep 2000 18:24:36 +0100
+Date: Thu, 14 Sep 2000 18:24:36 +0100
+Message-Id: <address@hidden>
+X-Authentication-Warning: djlvig.dl.ac.uk: fx set sender to address@hidden 
using -f
+To: Jeff Bailey <address@hidden>
+Cc: address@hidden, address@hidden
+Subject: Re: [Emacs-devel] Emacs move
+References: <address@hidden>
+From: Dave Love <address@hidden>
+In-Reply-To: Jeff Bailey's message of "Wed, 13 Sep 2000 17:59:43 -0700"
+User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/21.0.90
+MIME-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Lines: 9
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+Sorry, my repository-munging loop didn't DTRT in the top-level
+directory.  It needs
+
+  echo emacs >CVS/Repository
+
+afterwards.
+
+Also I think the permission error was because I messed up that
+directory's CVS subdir.  Things now seem fine.
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195763.M654298P30788Q4.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195763.M654298P30788Q4.slip:2,
new file mode 100644
index 0000000..ffe7d9e
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195763.M654298P30788Q4.slip:2,
@@ -0,0 +1,151 @@
+From address@hidden  Thu Sep 14 13:42:15 2000
+Received: from galois.collab.net (address@hidden [24.148.31.194])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id NAA26083;
+       Thu, 14 Sep 2000 13:42:10 -0400
+Received: (from address@hidden)
+       by galois.collab.net (8.10.1/8.10.1/Debian 8.10.1-1) id e8EFbZI14198;
+       Thu, 14 Sep 2000 10:37:35 -0500
+To: Dave Love <address@hidden>
+Cc: Jeff Bailey <address@hidden>, address@hidden, address@hidden
+Subject: Re: [Emacs-devel] Emacs move
+References: <address@hidden> <address@hidden>
+Reply-to: address@hidden
+Emacs: no job too big... no job.
+From: Karl Fogel <address@hidden>
+Date: 14 Sep 2000 10:37:35 -0500
+In-Reply-To: Dave Love's message of "Thu, 14 Sep 2000 18:24:36 +0100"
+Message-ID: <address@hidden>
+Lines: 124
+X-Mailer: Gnus v5.7/Emacs 20.6
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+Dave Love <address@hidden> writes:
+> Sorry, my repository-munging loop didn't DTRT in the top-level
+> directory.  It needs
+> [...]
+
+You may be interested in the `cvschroot.pl' script from the CVSUtils
+suite by Tom Tromey and Pavel Roskin.  The entire suite is available
+from:
+
+   http://www.red-bean.com/cvsutils/
+
+But for your convenience, here is cvschroot.pl:
+
+--------------------8-<-------cut-here---------8-<-----------------------
+#! /usr/bin/perl -w
+
+# This script binds the working directory to the given CVS root by
+# storing the new value is the CVS/Root files
+# If CVS/Repository contains the full path, it is adjusted to match
+# the new root
+# The environment variable CVSROOT overrides the contents of CVS/Root
+
+use strict;
+
+Main();
+
+sub Main
+{
+       if (!$ARGV[0] || ($ARGV[0] eq '--help') || ($#ARGV > 0))
+       {
+               usage ();
+       }
+
+       my $root = $ARGV[0];
+       my $cvspath = split_root($root, "New CVS Root");
+       my $old_root = $ENV{"CVSROOT"};
+       my $fixed_root = defined ($old_root);
+
+       open(CVSADM, "cvsu --ignore --find --types C |") ||
+               error ("Cannot read output of cvsu\n");
+
+       while (<CVSADM>) {
+               chomp;
+               my $dir = $_;
+               unless ( $dir =~ m{/$} ) {
+                       $dir .= "/";
+               }
+               if ($dir =~ "^\./(.*)") {
+                       $dir = $1;
+               }
+
+               unless ($fixed_root) {
+                       $old_root = get_line($dir . "Root");
+               }
+
+               my $old_cvspath = split_root($old_root, "Old CVS Root");
+
+               my $repo = get_line($dir . "Repository");
+
+               # if $repo is relative path, leave it as is
+               if ( $repo =~ m{^/} ) {
+                       unless ( $repo =~ s{^$old_cvspath}{$cvspath} ) {
+                               error ("${dir}Repository doesn't match 
${dir}Root\n");
+                       }
+
+                       put_line ($dir . "Repository", $repo);
+               }
+               put_line ($dir . "Root", $root);
+       }
+}
+
+# print message and exit (like "die", but without raising an exception)
+sub error
+{
+       print STDERR shift(@_);
+       exit 1;
+}
+
+# print usage information and exit
+sub usage
+{
+       print "Usage: cvschroot ROOT\n" .
+       "ROOT is the CVS Root to be written to CVS/Root\n" .
+       "CVS/Repository is also modified if necessary\n";
+       exit 1;
+}
+
+
+# Split CVSROOT into path and everything before it
+sub split_root
+{
+       my $res;
+       if ( shift(@_) =~ m{^([^ ]+:)?(/[^:@ ]+)$} ) {
+               $res = $2;
+       } else {
+               error shift(@_) . " not recognized\n";
+       }
+       return $res;
+}
+
+# Read one line from file
+sub get_line
+{
+       my $file = shift(@_);
+       open (FILE, "< $file")
+               || error ("couldn't open $file\n");
+       if ($_ = <FILE>) {
+               chomp;
+       } else {
+               error ("couldn't read $file\n");
+       }
+       close (FILE);
+       return $_;
+}
+
+# Write one line to file
+sub put_line
+{
+       my $file = shift(@_);
+       open (FILE, "> $file")
+               || error ("couldn't write to $file\n");
+       print FILE shift(@_) . "\n";
+       close (FILE);
+}
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195763.M767212P30788Q5.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195763.M767212P30788Q5.slip:2,
new file mode 100644
index 0000000..b08b409
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195763.M767212P30788Q5.slip:2,
@@ -0,0 +1,40 @@
+From address@hidden  Thu Sep 14 13:55:37 2000
+Received: from sparky.nisa.net (address@hidden [207.194.212.4])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id NAA29211;
+       Thu, 14 Sep 2000 13:55:34 -0400
+Received: (from address@hidden) by sparky.nisa.net (8.9.3/nisa4.7) id 
KAA29618; Thu, 14 Sep 2000 10:55:13 -0700
+X-MailHub: mail.nisa.net
+Message-ID: <address@hidden>
+Date: Thu, 14 Sep 2000 10:55:12 -0700
+From: Jeff Bailey <address@hidden>
+To: address@hidden, Dave Love <address@hidden>
+Cc: Jeff Bailey <address@hidden>, address@hidden, address@hidden
+Subject: Re: [Emacs-devel] Emacs move
+References: <address@hidden> <address@hidden> <address@hidden>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+X-Mailer: Mutt 0.91
+In-Reply-To: <address@hidden>; from Karl Fogel on Thu, Sep 14, 2000 at 
10:37:35AM -0500
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+On Thu, Sep 14, 2000 at 10:37:35AM -0500, Karl Fogel wrote:
+> Dave Love <address@hidden> writes:
+> > Sorry, my repository-munging loop didn't DTRT in the top-level
+> > directory.  It needs
+> > [...]
+>
+> You may be interested in the `cvschroot.pl' script from the CVSUtils
+> suite by Tom Tromey and Pavel Roskin.  The entire suite is available
+> from:
+>
+>    http://www.red-bean.com/cvsutils/
+>
+
+I looked at this before, but it depends on the rest of cvsutils, which
+has moved.  Thanks for giving me the URL.
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195763.M886152P30788Q6.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195763.M886152P30788Q6.slip:2,
new file mode 100644
index 0000000..7343992
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195763.M886152P30788Q6.slip:2,
@@ -0,0 +1,56 @@
+From address@hidden  Thu Sep 14 15:19:10 2000
+Received: from localhost.localdomain (IDENT:address@hidden [208.2.167.79])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id PAA01818
+       for <address@hidden>; Thu, 14 Sep 2000 15:19:09 -0400
+Received: (from address@hidden)
+       by localhost.localdomain (8.9.3/8.9.3) id MAA05085;
+       Thu, 14 Sep 2000 12:19:01 -0700
+Date: Thu, 14 Sep 2000 12:19:01 -0700
+Message-Id: <address@hidden>
+X-Authentication-Warning: localhost.localdomain: johnw set sender to 
address@hidden using -f
+To: address@hidden
+Subject: Re: [Emacs-devel] Emacs move
+References: <address@hidden>
+From: John Wiegley <address@hidden>
+X-Home-Page: http://www.emacs.org/~johnw/
+X-Public-Key: http://pgp5.ai.mit.edu:11371/pks/lookup?op=get&search=0xF40524D0
+In-Reply-To: Jeff Bailey's message of "Wed, 13 Sep 2000 17:59:43 -0700"
+User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/21.0.90
+MIME-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Lines: 27
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+>>>>> On Wed Sep 13, Jeff writes:
+
+> There are a few clever scripts floating around for changing the root
+> of an already checked-out repository to a new one.  If you know of
+> one that works, please post it and cc: me so I can give it to
+> others.
+
+I've using this one daily for quite some time.  I name it "local", and
+also symlink "remote" to it.
+
+----------------------------------------------------------------------
+
+#!/bin/sh
+
+REMOTE=":ext:address@hidden:/gd/gnu/cvsroot"
+LOCAL=":local:$HOME/src/cvsroot"
+
+if [ $(basename $0) = remote ]; then
+    TEMP=$REMOTE
+    REMOTE=$LOCAL
+    LOCAL=$TEMP
+fi
+
+for i in $(find . -name CVS -type d); do
+    echo Converting $i...
+    perl -i~ -pne "s~$REMOTE~$LOCAL~;" $i/Root
+done
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195764.M476788P30788Q0.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195764.M476788P30788Q0.slip:2,
new file mode 100644
index 0000000..c5211cd
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195764.M476788P30788Q0.slip:2,
@@ -0,0 +1,97 @@
+From address@hidden  Thu Sep 14 07:33:19 2000
+Received: from megalith.rattlesnake.com (megalith.rattlesnake.com 
[140.186.114.245])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id HAA06883;
+       Thu, 14 Sep 2000 07:33:17 -0400
+Received: by rattlesnake.com
+       via sendmail from stdin
+       id <address@hidden> (Debian Smail3.2.0.102)
+       for address@hidden; Thu, 14 Sep 2000 07:33:15 -0400 (EDT)
+Message-Id: <address@hidden>
+Date: Thu, 14 Sep 2000 07:33:15 -0400 (EDT)
+From: "Robert J. Chassell" <address@hidden>
+To: address@hidden
+CC: address@hidden, address@hidden
+In-reply-to: <address@hidden> (message from Jeff Bailey
+       on Wed, 13 Sep 2000 17:59:43 -0700)
+Subject: Re: [Emacs-devel] Emacs move
+Reply-to: address@hidden
+References:  <address@hidden>
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+   For information on how to access your repository, please look at
+   http://www.gnu.org/software/devel.html#CVS
+
+Done.  As it happens, emacs is not listed as any of the available
+modules, so perhaps I should not be surprised that I cannot
+access the emacs repository.
+
+I ran the following
+
+     $ cvs -d :pserver:address@hidden:/cvs login
+    (Logging in to address@hidden)
+    CVS password:
+
+but check out failed:
+
+     $ cvs -d :pserver:address@hidden:/cvs checkout emacs
+    cvs server: Updating emacs
+    cvs server: cannot open directory /cvs/emacs: Permission denied
+    cvs server: skipping directory emacs
+
+
+Also, on my machine I changed the name of the archive to
+
+    :pserver:address@hidden:/cvs
+
+in my CVS/Root files but also cannot update emacs.
+
+
+Here are the messages:
+
+  <bob> /usr/local/src/emacs $ cvs login
+  (Logging in to address@hidden)
+  CVS password:
+
+  <bob> /usr/local/src/emacs $ cvs update
+  ? config.log
+  ? Makefile
+  ? config.cache
+  ? config.status
+  ? leim/Makefile
+  ? lib-src/Makefile
+  ? lisp/Makefile
+  ? lwlib/Makefile
+  ? man/Makefile
+  ? oldXMenu/Makefile
+  ? src/Makefile
+  cvs server: Updating .
+  cvs server: cannot open directory /cvs/emacs: Permission denied
+  cvs server: skipping directory
+  no such user bob in CVSROOT/passwd
+  cvs update: authorization failed: server subversions.gnu.org rejected access
+  cvs update: used empty password; try "cvs login" with a real password
+
+
+
+Also I tried, logging in as me,
+
+    :pserver:address@hidden:/cvs
+
+and used the password that had worked with cvs.gnu.org, but that
+failed too.
+
+Also, neither kerberos nor lsh let me log on to subversions, although
+I can log on to melange.gnu.org using kerberos and log on to
+alpha.gnu.org using lsh.
+
+Please help!    Thanks!
+
+--
+    Robert J. Chassell                  address@hidden
+    Rattlesnake Enterprises             http://www.rattlesnake.com
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195764.M595165P30788Q1.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195764.M595165P30788Q1.slip:2,
new file mode 100644
index 0000000..79d9c92
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195764.M595165P30788Q1.slip:2,
@@ -0,0 +1,82 @@
+From address@hidden  Thu Sep 14 10:10:31 2000
+Received: from mail.rdc1.tn.home.com (address@hidden [24.2.7.66])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id KAA17067;
+       Thu, 14 Sep 2000 10:10:30 -0400
+Received: from megalith.bp.aventail.com ([24.12.70.142])
+          by mail.rdc1.tn.home.com (InterMail vM.4.01.02.00 201-229-116)
+          with ESMTP
+          id <address@hidden>;
+          Thu, 14 Sep 2000 07:10:26 -0700
+Received: (from address@hidden)
+       by megalith.bp.aventail.com (8.11.0/8.11.0/Debian 8.11.0-6) id 
e8EEAPa16180;
+       Thu, 14 Sep 2000 09:10:25 -0500
+X-Authentication-Warning: megalith.bp.aventail.com: wmperry set sender to 
address@hidden using -f
+To: address@hidden
+Cc: address@hidden, address@hidden, address@hidden
+Subject: Re: [Emacs-devel] Emacs move
+References: <address@hidden>
+       <address@hidden>
+Reply-to: address@hidden
+X-Face: 
O~Rn;(l][/address@hidden:9-"'IR[%;,,!m7</SYF`{vYQ(&RI1&EiH[FvT;address@hidden
+ 
x_!Y#=y{Uuj9GvUi=cPuajQ(address@hidden,sn$qGr5g/wnb*"*ktI+,CD}1Z'wxrM2ag-r0p5I6\nA
+ [WJopW_J.WY;
+Content-Type: text/plain; charset=us-ascii
+From: address@hidden (William M. Perry)
+Date: 14 Sep 2000 09:10:25 -0500
+In-Reply-To: "Robert J. Chassell"'s message of "Thu, 14 Sep 2000 07:33:15 
-0400 (EDT)"
+Message-ID: <address@hidden>
+Lines: 44
+User-Agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.1 (GTK)
+MIME-Version: 1.0
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+"Robert J. Chassell" <address@hidden> writes:
+
+>    For information on how to access your repository, please look at
+>    http://www.gnu.org/software/devel.html#CVS
+>
+> Done.  As it happens, emacs is not listed as any of the available
+> modules, so perhaps I should not be surprised that I cannot
+> access the emacs repository.
+>
+> I ran the following
+>
+>      $ cvs -d :pserver:address@hidden:/cvs login
+>     (Logging in to address@hidden)
+>     CVS password:
+>
+> but check out failed:
+>
+>      $ cvs -d :pserver:address@hidden:/cvs checkout emacs
+>     cvs server: Updating emacs
+>     cvs server: cannot open directory /cvs/emacs: Permission denied
+>     cvs server: skipping directory emacs
+>
+>
+> Also, on my machine I changed the name of the archive to
+>
+>     :pserver:address@hidden:/cvs
+>
+> in my CVS/Root files but also cannot update emacs.
+
+I used /home/cvs and was able to check it out, but I also used my account
+instead of anoncvs.
+
+But it does not build because src/regex.[ch] are not found.  Were these
+symlinks in the old repository or something strange like that?  When I do a
+`cvs update' I get:
+
+cvs server: Updating .
+cvs server: nothing known about regex.c
+cvs server: nothing known about regex.h
+cvs server: Updating bitmaps
+cvs server: Updating m
+cvs server: Updating s
+
+-Bill P.
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195764.M714508P30788Q2.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195764.M714508P30788Q2.slip:2,
new file mode 100644
index 0000000..406ed15
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195764.M714508P30788Q2.slip:2,
@@ -0,0 +1,45 @@
+From address@hidden  Thu Sep 14 16:00:34 2000
+Received: from mout02.kundenserver.de (mout02.kundenserver.de [195.20.224.133])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id QAA07590;
+       Thu, 14 Sep 2000 16:00:33 -0400
+Received: from [195.20.224.151] (helo=mrelay01.kundenserver.de)
+       by mout02.kundenserver.de with esmtp (Exim 2.12 #2)
+       id 13ZfBG-0006r3-00; Thu, 14 Sep 2000 22:00:22 +0200
+Received: from p3e9c23a7.dip0.t-ipconnect.de ([62.156.35.167] 
helo=gerd.segv.de)
+       by mrelay01.kundenserver.de with esmtp (Exim 2.12 #2)
+       id 13ZfBD-0001Cp-00; Thu, 14 Sep 2000 22:00:19 +0200
+Received: (from address@hidden)
+       by gerd.segv.de (8.9.3/8.9.3) id VAA06005;
+       Thu, 14 Sep 2000 21:51:05 +0200 (CEST)
+       (envelope-from address@hidden)
+Date: Thu, 14 Sep 2000 21:51:05 +0200 (CEST)
+Message-Id: <address@hidden>
+X-Authentication-Warning: gerd.segv.de: gerd set sender to address@hidden 
using -f
+To: address@hidden
+Cc: address@hidden, address@hidden, address@hidden,
+        address@hidden
+Subject: Re: [Emacs-devel] Emacs move
+References: <address@hidden>
+       <address@hidden>
+       <address@hidden>
+Reply-To: address@hidden
+From: Gerd Moellmann <address@hidden>
+In-Reply-To: address@hidden's message of "14 Sep 2000 09:10:25 -0500"
+User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/21.0.90
+MIME-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Lines: 6
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
address@hidden (William M. Perry) writes:
+
+> But it does not build because src/regex.[ch] are not found.  Were these
+> symlinks in the old repository or something strange like that?
+
+Yup, we're sorting this out.
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195764.M834837P30788Q3.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195764.M834837P30788Q3.slip:2,
new file mode 100644
index 0000000..5851ea4
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195764.M834837P30788Q3.slip:2,
@@ -0,0 +1,61 @@
+From address@hidden  Thu Sep 14 16:00:27 2000
+Received: from mout01.kundenserver.de (mout01.kundenserver.de [195.20.224.132])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id QAA07586;
+       Thu, 14 Sep 2000 16:00:26 -0400
+Received: from [195.20.224.151] (helo=mrelay01.kundenserver.de)
+       by mout01.kundenserver.de with esmtp (Exim 2.12 #2)
+       id 13ZfBB-0002Fl-00; Thu, 14 Sep 2000 22:00:17 +0200
+Received: from p3e9c23a7.dip0.t-ipconnect.de ([62.156.35.167] 
helo=gerd.segv.de)
+       by mrelay01.kundenserver.de with esmtp (Exim 2.12 #2)
+       id 13ZfAv-0001Cp-00; Thu, 14 Sep 2000 22:00:07 +0200
+Received: (from address@hidden)
+       by gerd.segv.de (8.9.3/8.9.3) id VAA05998;
+       Thu, 14 Sep 2000 21:49:03 +0200 (CEST)
+       (envelope-from address@hidden)
+Date: Thu, 14 Sep 2000 21:49:03 +0200 (CEST)
+Message-Id: <address@hidden>
+X-Authentication-Warning: gerd.segv.de: gerd set sender to address@hidden 
using -f
+To: address@hidden
+Cc: address@hidden, address@hidden, address@hidden
+Subject: Re: [Emacs-devel] Emacs move
+References: <address@hidden>
+       <address@hidden>
+Reply-To: address@hidden
+From: Gerd Moellmann <address@hidden>
+In-Reply-To: "Robert J. Chassell"'s message of "Thu, 14 Sep 2000 07:33:15 
-0400 (EDT)"
+User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/21.0.90
+MIME-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Lines: 24
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+"Robert J. Chassell" <address@hidden> writes:
+
+> Also I tried, logging in as me,
+>
+>     :pserver:address@hidden:/cvs
+
+That's the right root.  Anon CVS is currently not available.
+
+> and used the password that had worked with cvs.gnu.org, but that >
+> failed too.
+
+I think Jeff couldn't migrate the pserver passwords to subversions.
+Did you receive a mail from Jeff asking for your access methods and
+password?
+
+> Also, neither kerberos nor lsh let me log on to subversions, although
+> I can log on to melange.gnu.org using kerberos and log on to
+> alpha.gnu.org using lsh.
+
+I think telnet is not allowed on subversions.
+
+But if Jeff has set up Kerberos access to the repository for you, you
+should be able to first kauth, and then check out Emacs with CVSROOT
+`subversions.gnu.org:/cvs'.
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195764.M951919P30788Q4.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195764.M951919P30788Q4.slip:2,
new file mode 100644
index 0000000..c7e45ce
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195764.M951919P30788Q4.slip:2,
@@ -0,0 +1,50 @@
+From address@hidden  Thu Sep 14 17:50:04 2000
+Received: from megalith.rattlesnake.com (megalith.rattlesnake.com 
[140.186.114.245])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id RAA23171;
+       Thu, 14 Sep 2000 17:50:02 -0400
+Received: by rattlesnake.com
+       via sendmail from stdin
+       id <address@hidden> (Debian Smail3.2.0.102)
+       for address@hidden; Thu, 14 Sep 2000 17:50:01 -0400 (EDT)
+Message-Id: <address@hidden>
+Date: Thu, 14 Sep 2000 17:50:01 -0400 (EDT)
+From: "Robert J. Chassell" <address@hidden>
+To: address@hidden
+CC: address@hidden, address@hidden, address@hidden,
+        address@hidden
+In-reply-to: <address@hidden> (message from Gerd Moellmann
+       on Thu, 14 Sep 2000 21:49:03 +0200 (CEST))
+Subject: Re: [Emacs-devel] Emacs move
+Reply-to: address@hidden
+References: <address@hidden>
+       <address@hidden> <address@hidden>
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+   I think Jeff couldn't migrate the pserver passwords to subversions.
+   Did you receive a mail from Jeff asking for your access methods and
+   password?
+
+Not yet.
+
+As a practical matter, I don't understand security procedures and all
+that.  I realize tha I should learn, but I come from an ancient era,
+when the biggest security lapse was the April 1st spoof pretending to
+be a message from `kremvax' in the former Soviet Union.
+
+So please
+tell me in detail, as for a newbie,
+what I should do to get CVS updates for Emacs 21.  I have Kerberos
+access to delysid, mescaline, and melange and lsh access to
+alpha.gnu.org.
+
+Thanks!
+
+--
+    Robert J. Chassell                  address@hidden
+    Rattlesnake Enterprises             http://www.rattlesnake.com
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195765.M185364P30788Q1.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195765.M185364P30788Q1.slip:2,
new file mode 100644
index 0000000..3fce36e
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195765.M185364P30788Q1.slip:2,
@@ -0,0 +1,28 @@
+From address@hidden  Fri Sep 15 18:28:27 2000
+Received: from pele.santafe.edu (pele.santafe.edu [192.12.12.119])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id SAA05920;
+       Fri, 15 Sep 2000 18:28:26 -0400
+Received: from wijiji.santafe.edu (wijiji [192.12.12.5])
+       by pele.santafe.edu (8.9.1/8.9.1) with ESMTP id QAA07669;
+       Fri, 15 Sep 2000 16:28:12 -0600 (MDT)
+Received: (from address@hidden)
+       by wijiji.santafe.edu (8.9.3+Sun/8.9.1) id QAA20526;
+       Fri, 15 Sep 2000 16:28:12 -0600 (MDT)
+Date: Fri, 15 Sep 2000 16:28:12 -0600 (MDT)
+Message-Id: <address@hidden>
+X-Authentication-Warning: wijiji.santafe.edu: rms set sender to address@hidden 
using -f
+From: Richard Stallman <address@hidden>
+to: address@hidden, address@hidden, address@hidden
+In-reply-to: <address@hidden> (address@hidden)
+Subject: Re: [Emacs-devel] Emacs move
+Reply-to: address@hidden
+References: <address@hidden> <address@hidden>
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+Bob should certainly have access to the Emacs repository.
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195765.M300193P30788Q2.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195765.M300193P30788Q2.slip:2,
new file mode 100644
index 0000000..5f05199
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195765.M300193P30788Q2.slip:2,
@@ -0,0 +1,48 @@
+From address@hidden  Wed Sep 13 20:59:44 2000
+Received: from sparky.nisa.net (address@hidden [207.194.212.4])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id UAA17218;
+       Wed, 13 Sep 2000 20:59:43 -0400
+Received: (from address@hidden) by sparky.nisa.net (8.9.3/nisa4.7) id 
RAA27622; Wed, 13 Sep 2000 17:59:43 -0700
+X-MailHub: mail.nisa.net
+Message-ID: <address@hidden>
+Date: Wed, 13 Sep 2000 17:59:43 -0700
+From: Jeff Bailey <address@hidden>
+To: address@hidden
+Cc: address@hidden
+Mime-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+X-Mailer: Mutt 0.91
+Subject: [Emacs-devel] Emacs move
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+Thanks for all of your help during this move, it has now been completed.
+
+Some of your accounts have still not been setup correctly, if I haven't
+got them by this weekend, you've probably dropped off my radar.  Please
+remind me.
+
+For information on how to access your repository, please look at
+http://www.gnu.org/software/devel.html#CVS
+
+There are a few clever scripts floating around for changing the root of
+an already checked-out repository to a new one.  If you know of one that
+works, please post it and cc: me so I can give it to others.
+
+Please send any questions you have to address@hidden
+
+Good hacking.
+
+Tks,
+Jeff Bailey
+
+--
+"It is easy to be blinded to the essential uselessness of computers by
+the sense of accomplishment you get from getting them to work at all."
+ - Douglas Adams
+
+
diff --git 
a/packages/gnus-mock/data/test/mails/cur/1539195765.M68113P30788Q0.slip:2, 
b/packages/gnus-mock/data/test/mails/cur/1539195765.M68113P30788Q0.slip:2,
new file mode 100644
index 0000000..ba327e3
--- /dev/null
+++ b/packages/gnus-mock/data/test/mails/cur/1539195765.M68113P30788Q0.slip:2,
@@ -0,0 +1,75 @@
+From address@hidden  Sat Sep 16 01:00:42 2000
+Received: from sparky.nisa.net (address@hidden [207.194.212.4])
+       by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id BAA02175;
+       Sat, 16 Sep 2000 01:00:41 -0400
+Received: (from address@hidden) by sparky.nisa.net (8.9.3/nisa4.7) id 
WAA04437; Fri, 15 Sep 2000 22:00:13 -0700
+X-MailHub: mail.nisa.net
+Message-ID: <address@hidden>
+Date: Fri, 15 Sep 2000 22:00:12 -0700
+From: Jeff Bailey <address@hidden>
+To: address@hidden, address@hidden
+Cc: address@hidden, address@hidden, address@hidden
+Subject: Re: [Emacs-devel] Emacs move
+References: <address@hidden> <address@hidden> <address@hidden> <address@hidden>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+X-Mailer: Mutt 0.91
+In-Reply-To: <address@hidden>; from Robert J. Chassell on Thu, Sep 14, 2000 at 
05:50:01PM -0400
+Sender: address@hidden
+Errors-To: address@hidden
+X-BeenThere: address@hidden
+X-Mailman-Version: 2.0beta4
+Precedence: bulk
+List-Id: Emacs development (internal use) <emacs-devel.gnu.org>
+
+On Thu, Sep 14, 2000 at 05:50:01PM -0400, Robert J. Chassell wrote:
+>    I think Jeff couldn't migrate the pserver passwords to subversions.
+>    Did you receive a mail from Jeff asking for your access methods and
+>    password?
+>
+> Not yet.
+
+Make sure you talk to Gerd to get you on the mailing list that he's
+created for people with write access to the repository.  Otherwise,
+here's the spiel:
+
+Hello and welcome to Subversions, the GNU CVS server with an incredibly
+clever name.
+
+In order to give you access, I will need 2 things from you:
+
+1) Your prefered username.
+
+2) The method by which you will access your repository.  We support 3
+methods right now:
+
+i) Kerberos
+ii) pserver
+iii) lsh
+
+If you would like to use Kerberos to access, I need to arrange to send
+you your password.  A good way of doing this is to send me a GnuPG key.
+If this is difficult, I can postal mail the password to you, or arrange
+to be near a phone at a particular time to give it to you.  If you have a
+`GNU.ORG' kerberos account already, please just send me the name.
+
+If you would like to use pserver, please send me your password encoded with
+`crypt'.
+
+If you would like to use lsh, please send me your DSA key.  Sadly, I haven't
+gotten OpenSSH DSA keys to work yet.  If you know how to do this, please
+let me know.
+
+These instructions are intentionally brief.  If you need the detailed
+version or have any questions, please let me know.
+
+Please send any correspondance to address@hidden
+
+
+
+--
+"It is easy to be blinded to the essential uselessness of computers by
+the sense of accomplishment you get from getting them to work at all."
+ - Douglas Adams
+
+
diff --git a/packages/gnus-mock/gnus-mock.el b/packages/gnus-mock/gnus-mock.el
new file mode 100644
index 0000000..715aa27
--- /dev/null
+++ b/packages/gnus-mock/gnus-mock.el
@@ -0,0 +1,209 @@
+;;; gnus-mock.el --- Mock Gnus installation for testing  -*- lexical-binding: 
t; -*-
+
+;; Copyright (C) 2018  Free Software Foundation
+
+;; Author: Eric Abrahamsen <address@hidden>
+;; Maintainer: Eric Abrahamsen <address@hidden>
+;; Version: 0.1
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This module provides a reproducible Gnus installation, including
+;; dummy data, that can be used for Gnus development and testing.
+;; Call `gnus-mock-start' from your currently-running Emacs to start a
+;; new Emacs instance, skipping all user init (ie startup as -Q), but
+;; preloading a mock Gnus installation.  All normal Gnus startup
+;; commands will begin a session within this mock installation.
+
+;; The developer can also specify a different Emacs executable to
+;; start (for instance, when working on a Git branch checked out in a
+;; worktree).  This is controlled by the `gnus-mock-emacs-program'
+;; option.
+
+;; The mock session starts with some predefined servers, as well as
+;; some dummy mail data.  At startup, all dummy data is copied into a
+;; temporary directory, which is deleted at shutdown.  The environment
+;; can thus be loaded, tweaked, trashed, and re-loaded with impunity.
+;; To fully restore a clean testing environment, simply quit the Emacs
+;; process and restart it from the parent process by running
+;; `gnus-mock-start' again.  Alternately it's possible to restart "in
+;; place" by calling `gnus-mock-reload', though, depending on what the
+;; developer has gotten up to, this isn't guaranteed to completely
+;; restore the environment.
+
+;; Users have two options for adding custom configuration to the mock
+;; session:
+
+;; - `gnus-mock-gnus-settings' can be set to a filename, the contents
+;;    of which will be appended to the .gnus.el startup file in the
+;;    mock session.  This code will be executed at Gnus startup.
+
+;; - `gnus-mock-init-setting' should also be a filename, the contents
+;;   of which will be appended to the init.el file that is loaded when
+;;   the child Emacs process starts.
+
+;; It's possible to compose and send mail in a mock Gnus session; the
+;; mail will be sent using the value of `gnus-mock-sendmail-program'.
+;; If Python is available on the user's system, this option will be
+;; set to a Python program that simply accepts the outgoing mail and
+;; shunts it to the "incoming" mailbox of the pre-defined nnmaildir
+;; server.
+
+;;; Code:
+
+(require 'gnus)
+(require 'message)
+
+(defgroup gnus-mock nil
+  "Options for the mock Gnus installation."
+  :group 'gnus)
+
+(defcustom gnus-mock-gnus-file nil
+  "Path to an additional Gnus config file for mock Gnus.
+The contents of this file will be appended to gnus-mock's Gnus
+init file, which will be loaded when Gnus is started."
+  :group 'gnus-mock
+  :type 'file)
+
+(defcustom gnus-mock-init-file nil
+  "Path to an additional init config file for mock Gnus.
+The contents of this file will be appended to gnus-mock's init
+file, which will be loaded when the child Emacs process is
+started."
+  :group 'gnus-mock
+  :type 'file)
+
+(defcustom gnus-mock-emacs-program "emacs"
+  "Name of the Emacs executable to use for the mock session."
+  :group 'gnus-mock
+  :type 'string)
+
+
+(defcustom gnus-mock-cleanup-p t
+  "When non-nil, delete temporary files after shutdown.
+Each Gnus mock session will create a unique temporary directory,
+so multiple sessions will not conflict if this option is nil."
+  :group 'gnus-mock
+  :type 'boolean)
+
+(defcustom gnus-mock-use-images t
+  "When non-nil, use some cute Gnus-mock-specific images."
+  :group 'gnus-mock
+  :type 'boolean)
+
+(defcustom gnus-mock-sendmail-program
+  (when (executable-find "python") "fakesendmail.py")
+  "Program used as the value of `sendmail-program'."
+  :group 'gnus-mock
+  :type 'string)
+
+(defconst gnus-mock-data-dir
+  (file-name-as-directory (expand-file-name
+                          "data"
+                          (file-name-directory load-file-name)))
+  "Source directory for Gnus mock data.")
+
+;;;###autoload
+(defun gnus-mock-start ()
+  "Start a new Emacs process, with the Gnus mock setup.
+The new Emacs process will be started as \"-Q\", with the mock
+Gnus settings pre-loaded.  Any of the normal Gnus entry points
+will start a mock Gnus session."
+  (interactive)
+  (let* ((mock-tmp-dir (make-temp-file "emacs-gnus-mock-" t))
+        (init-file (expand-file-name "init.el" mock-tmp-dir)))
+    (with-temp-buffer
+      (insert "(setq "
+             (format
+              "gnus-home-directory \"%s\"
+init-file-user \"%s\"
+sendmail-program \"%s\"
+message-directory \"%s\"
+gnus-startup-file \"%s\"
+gnus-init-file \"%s\"
+nndraft-directory \"%s\"
+gnus-agent-directory \"%s\"
+gnus-directory \"%s\"
+"
+              mock-tmp-dir
+              "mockturtle"
+              (expand-file-name gnus-mock-sendmail-program mock-tmp-dir)
+              mock-tmp-dir
+              (expand-file-name ".newsrc" mock-tmp-dir)
+              (expand-file-name ".gnus" mock-tmp-dir)
+              (expand-file-name "drafts/" mock-tmp-dir)
+              (expand-file-name "agent/" mock-tmp-dir)
+              (expand-file-name "News/" mock-tmp-dir))
+             ")\n\n")
+      ;; Constant that can be checked if we need to know it's a mock
+      ;; session.
+      (insert "(defconst gnus-mock-p t)\n")
+      ;; Constant for use in `gnus-mock-reload', which is defined in
+      ;; the .gnus.el startup file.
+      (insert (format "(defconst gnus-mock-data-dir \"%s\")\n"
+                     gnus-mock-data-dir))
+      (when gnus-mock-cleanup-p
+       (insert
+        (format
+         "(add-hook 'kill-emacs-hook (lambda () (delete-directory \"%s\" 
t)))\n"
+         mock-tmp-dir)))
+      (when gnus-mock-use-images
+       (insert
+        (format "(add-to-list 'load-path \"%s/data\")\n"
+                mock-tmp-dir)))
+      (write-file init-file))
+    ;; Put our data and config in place.
+    (copy-directory
+     gnus-mock-data-dir
+     (file-name-as-directory mock-tmp-dir) nil nil t)
+    ;; Git doesn't let us commit empty directories, so create our
+    ;; necessary empty maildir bits.
+    (mapc (lambda (path) (make-directory path t))
+         (mapcar (lambda (dir)
+                   (format "%s/test/%s" mock-tmp-dir dir))
+                 '("Welcome/new" "Welcome/tmp" "Welcome/.nnmaildir/marks"
+                   "incoming/tmp" "incoming/new" "incoming/cur"
+                   "incoming/.nnmaildir/marks" "incoming/.nnmaildir/nov"
+                   "mails/tmp" "mails/new" "mails/.nnmaildir/marks")))
+    ;; Possibly insert additional config.
+    (when gnus-mock-init-file
+      (with-temp-buffer
+       (insert-file-contents gnus-mock-init-file)
+       (append-to-file
+        (point-min) (point-max) init-file)))
+    (when gnus-mock-gnus-file
+      (with-temp-buffer
+       (insert-file-contents gnus-mock-gnus-file)
+       (append-to-file
+        (point-min) (point-max)
+        (expand-file-name ".gnus.el" mock-tmp-dir))))
+    ;; There are absolute paths in the .newsrc.eld file, so doctor
+    ;; that file.
+    (with-current-buffer (find-file-noselect
+                         (expand-file-name ".newsrc.eld" mock-tmp-dir))
+      (while (re-search-forward "REPLACE_ME" (point-max) t)
+       (replace-match mock-tmp-dir t))
+      (basic-save-buffer))
+    (condition-case nil
+     (make-process :name "gnus-mock" :buffer nil
+                  :command (list gnus-mock-emacs-program
+                                 "-Q" "--load" init-file)
+                  :stderr "*gnus mock errors*")
+     (error (when gnus-mock-cleanup-p
+             (delete-directory mock-tmp-dir t))))))
+
+(provide 'gnus-mock)
+;;; gnus-mock.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]