GNU bug report logs - #48867
[PATCH] gnu: Add guile-define.

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Xinglu Chen <public@HIDDEN>; Keywords: wontfix patch; Done: Ludovic Courtès <ludo@HIDDEN>; Maintainer for guix-patches is guix-patches@HIDDEN.
bug closed, send any further explanations to 48867 <at> debbugs.gnu.org and Xinglu Chen <public@HIDDEN> Request was from Ludovic Courtès <ludo@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
Added tag(s) wontfix. Request was from Ludovic Courtès <ludo@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 48867 <at> debbugs.gnu.org:


Received: (at 48867) by debbugs.gnu.org; 9 Jun 2021 11:15:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jun 09 07:15:54 2021
Received: from localhost ([127.0.0.1]:60641 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lqwBd-0005WY-Qs
	for submit <at> debbugs.gnu.org; Wed, 09 Jun 2021 07:15:54 -0400
Received: from h87-96-130-155.cust.a3fiber.se ([87.96.130.155]:58906
 helo=mail.yoctocell.xyz) by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <public@HIDDEN>) id 1lqwBa-0005WJ-4G
 for 48867 <at> debbugs.gnu.org; Wed, 09 Jun 2021 07:15:52 -0400
From: Xinglu Chen <public@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=yoctocell.xyz;
 s=mail; t=1623237343;
 bh=Y3Ntzv8+wVwWj0L6N9M47pDWZN/BZ4WK9LdTYMkbkK4=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date;
 b=cdNBx81URV8aw9wvhaKZH5S+0ierMluj0tGdjAdBqOeudObQQgxMedQ5S9FgPKvjR
 MbkFule8VmA0UJK4mTQmIaguXhR6L0hECXOynx3xcAe/Pie9df2ZtJuBfVVlmjI8yN
 qv2biz0KSQ5rYghZb3J+SC0xvVXSkD1bGALontpA=
To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Subject: Re: [bug#48867] [PATCH] gnu: Add guile-define.
In-Reply-To: <875yyodp4j.fsf@HIDDEN>
References: <b1f9e67d6c0b16a07e4e90cbf49c463392d66390.1622973318.git.public@HIDDEN>
 <875yyodp4j.fsf@HIDDEN>
Date: Wed, 09 Jun 2021 13:15:42 +0200
Message-ID: <87bl8fqof5.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha256; protocol="application/pgp-signature"
X-Spam-Score: 2.9 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  On Tue, Jun 08 2021, Ludovic Courtès wrote: > Hi, > > Xinglu
    Chen <public@HIDDEN> skribis: > >> * gnu/packages/guile-xyz.scm (guile-define):
    New variable. > > [...] > >> + (native-inputs >> + `(("guile" ,guile-3.0)))
    >> + (home-page "htt [...] 
 
 Content analysis details:   (2.9 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
  2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
                             [URI: yoctocell.xyz (xyz)]
  0.4 RDNS_DYNAMIC           Delivered to internal network by host with
                             dynamic-looking rDNS
  0.5 FROM_SUSPICIOUS_NTLD   From abused NTLD
X-Debbugs-Envelope-To: 48867
Cc: 48867 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 2.9 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  On Tue, Jun 08 2021, Ludovic Courtès wrote: > Hi, > > Xinglu
    Chen <public@HIDDEN> skribis: > >> * gnu/packages/guile-xyz.scm (guile-define):
    New variable. > > [...] > >> + (native-inputs >> + `(("guile" ,guile-3.0)))
    >> + (home-page "htt [...] 
 
 Content analysis details:   (2.9 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
  2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
                             [URI: yoctocell.xyz (xyz)]
  0.4 RDNS_DYNAMIC           Delivered to internal network by host with
                             dynamic-looking rDNS
  0.5 FROM_SUSPICIOUS_NTLD   From abused NTLD
  1.0 BULK_RE_SUSP_NTLD      Precedence bulk and RE: from a suspicious TLD
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tue, Jun 08 2021, Ludovic Court=C3=A8s wrote:

> Hi,
>
> Xinglu Chen <public@HIDDEN> skribis:
>
>> * gnu/packages/guile-xyz.scm (guile-define): New variable.
>
> [...]
>
>> +      (native-inputs
>> +       `(("guile" ,guile-3.0)))
>> +      (home-page "https://hg.sr.ht/~bjoli/guile-define")
>> +      (synopsis "Definitions in expression contexts for Guile")
>> +      (description "This package provides a utility macro to allow
>> +@code{define}s in expression contexts of function bodies.")
>
> This may have been useful with Guile 2.x but it=E2=80=99s useless with 3.=
0,
> which already allows that:
>
> --8<---------------cut here---------------start------------->8---
> scheme@(guile-user)> (version)
> $9 =3D "3.0.7"
> scheme@(guile-user)> (define (divide-minus-one a b)
> 		       (when (=3D b 1) (error "We don't allow that here"))
> 		       (define b* (- b 1))
> 		       (/ a b*))
> scheme@(guile-user)>
> --8<---------------cut here---------------end--------------->8---
>
> So either we make the package depend on 2.x, or we drop it.  Dropping it
> is probably the best option if there are no dependents.
>
> Thoughts?

Oh, I didn=E2=80=99t know that, then I think it=E2=80=99s fine to drop the =
package.


--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmDAot4VHHB1YmxpY0B5
b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5eIUP/i9eojRaWG146fVPV63dtZsxlhtX
CAeIsIR/MBqoWOqk2Gchw7pAx/mzUt1bySrRo0qAaejLk3qyB+C+6TikshKQa3iu
IfzfHN1NJoi9P3LFEGSX8lW7PVMJUJmeqfudORJEQ+SaiOrtl1y+No8IhC84H2sV
52+PhFOxH883iXCZS4vib0P+AqbF8dkarhxBrZKtqvElI6QgQINcaJoKOS6OgZ62
d7EwmC75eNhGgkRPs2DozsJUjT3JCUxxCt2zrnilzL2cGIAn9lEnNunrklxsQ5NV
m2ItMrzWfZR/1pZNePj2GVqrm4icumKdCohh9T7CxHrwLbTCEoVmrHx6JdqYitut
qaQrcREbpeXFZwu8+Z6JoQanVf6bUCkZqClzLtTQUc9jd3TKUVlMcDy6od3CeozR
4FZIIpidvoiXfJcfEK5vCsv70rGmTLi7wyn/EYZtPwSOVqd23oypm1uBSM5DqhFw
e+LiJmJ6lCKV933rnRdqI+uaRewSytab//7nIRR+qkEAR4zdLkHu2N0v1o8wENz8
ptVVyvqyMT0aqdX6W6MdGxidDA0qrtaXrNznR3wNt9Bvk+84M4x0j8TDqNRRgWZH
lOFxioARqKLmyJ4Z7RomINCb2f0ne7BCcwB2EWQ4y1s8ZJEgOjOe3eX4yKlGRQEu
B8s8GF3zxcKtoNRp
=5Z/p
-----END PGP SIGNATURE-----
--=-=-=--




Information forwarded to guix-patches@HIDDEN:
bug#48867; Package guix-patches. Full text available.

Message received at 48867 <at> debbugs.gnu.org:


Received: (at 48867) by debbugs.gnu.org; 8 Jun 2021 21:26:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 08 17:26:46 2021
Received: from localhost ([127.0.0.1]:59910 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lqjFF-0007CL-Va
	for submit <at> debbugs.gnu.org; Tue, 08 Jun 2021 17:26:46 -0400
Received: from eggs.gnu.org ([209.51.188.92]:38442)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1lqjFE-0007C9-2v
 for 48867 <at> debbugs.gnu.org; Tue, 08 Jun 2021 17:26:44 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:47014)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <ludo@HIDDEN>)
 id 1lqjF8-0005aR-HT; Tue, 08 Jun 2021 17:26:38 -0400
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=36224 helo=ribbon)
 by fencepost.gnu.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1)
 (envelope-from <ludo@HIDDEN>)
 id 1lqjF8-0007uF-9V; Tue, 08 Jun 2021 17:26:38 -0400
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Xinglu Chen <public@HIDDEN>
Subject: Re: bug#48867: [PATCH] gnu: Add guile-define.
References: <b1f9e67d6c0b16a07e4e90cbf49c463392d66390.1622973318.git.public@HIDDEN>
Date: Tue, 08 Jun 2021 23:26:36 +0200
In-Reply-To: <b1f9e67d6c0b16a07e4e90cbf49c463392d66390.1622973318.git.public@HIDDEN>
 (Xinglu Chen's message of "Sun, 06 Jun 2021 11:55:45 +0200")
Message-ID: <875yyodp4j.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.3 (/)
X-Debbugs-Envelope-To: 48867
Cc: 48867 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.3 (-)

Hi,

Xinglu Chen <public@HIDDEN> skribis:

> * gnu/packages/guile-xyz.scm (guile-define): New variable.

[...]

> +      (native-inputs
> +       `(("guile" ,guile-3.0)))
> +      (home-page "https://hg.sr.ht/~bjoli/guile-define")
> +      (synopsis "Definitions in expression contexts for Guile")
> +      (description "This package provides a utility macro to allow
> +@code{define}s in expression contexts of function bodies.")

This may have been useful with Guile 2.x but it=E2=80=99s useless with 3.0,
which already allows that:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> (version)
$9 =3D "3.0.7"
scheme@(guile-user)> (define (divide-minus-one a b)
		       (when (=3D b 1) (error "We don't allow that here"))
		       (define b* (- b 1))
		       (/ a b*))
scheme@(guile-user)>
--8<---------------cut here---------------end--------------->8---

So either we make the package depend on 2.x, or we drop it.  Dropping it
is probably the best option if there are no dependents.

Thoughts?

Ludo=E2=80=99.




Information forwarded to guix-patches@HIDDEN:
bug#48867; Package guix-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 6 Jun 2021 09:55:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jun 06 05:55:55 2021
Received: from localhost ([127.0.0.1]:50692 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lppVb-0000Cx-97
	for submit <at> debbugs.gnu.org; Sun, 06 Jun 2021 05:55:55 -0400
Received: from lists.gnu.org ([209.51.188.17]:46094)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <public@HIDDEN>) id 1lppVY-0000Cp-Pl
 for submit <at> debbugs.gnu.org; Sun, 06 Jun 2021 05:55:53 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:39840)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <public@HIDDEN>)
 id 1lppVY-00034D-GQ
 for guix-patches@HIDDEN; Sun, 06 Jun 2021 05:55:52 -0400
Received: from h87-96-130-155.cust.a3fiber.se ([87.96.130.155]:43160
 helo=mail.yoctocell.xyz)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <public@HIDDEN>)
 id 1lppVW-0001YR-A3
 for guix-patches@HIDDEN; Sun, 06 Jun 2021 05:55:52 -0400
From: Xinglu Chen <public@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=yoctocell.xyz;
 s=mail; t=1622973346;
 bh=sZo1iy/33jIZduhH+79mTUxgUwifQ7xpGhTXuvkuMAA=;
 h=From:To:Subject:Date;
 b=p4AMRxPlckm7e2dzRMrVZjRjLAlcQkcTgnAYkZVct9q4rTp7REfO+0Lr+8hJ5btip
 4syIA3LuZQlW+hc5GPC9nhUeKsDrYlyepLrr/g7bys6bZaKhLQoIrIniEqhAwQ3JXl
 V6OguMY+9EqyApMHedrc8mv8l+VZAetAoIn4Hx7M=
To: guix-patches@HIDDEN
Subject: [PATCH] gnu: Add guile-define.
Message-Id: <b1f9e67d6c0b16a07e4e90cbf49c463392d66390.1622973318.git.public@HIDDEN>
Date: Sun, 06 Jun 2021 11:55:45 +0200
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=87.96.130.155; envelope-from=public@HIDDEN;
 helo=mail.yoctocell.xyz
X-Spam_score_int: 30
X-Spam_score: 3.0
X-Spam_bar: +++
X-Spam_report: (3.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FROM_SUSPICIOUS_NTLD=0.498,
 FROM_SUSPICIOUS_NTLD_FP=1.599, PDS_OTHER_BAD_TLD=1.997, RDNS_DYNAMIC=0.982,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 2.8 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  * gnu/packages/guile-xyz.scm (guile-define): New variable.
 --- gnu/packages/guile-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 
 26 insertions(+) diff --git a/gnu/packages/guile-xyz.scm
 b/gnu/packages/guile-xyz.scm
 index 6db5134344..6a84e5e052 100644 --- a/gnu/packages/guile-xyz.scm +++
 b/gnu/packages/guile-xyz.scm @@ -1230,6 +1230,32 @@ using [...] 
 Content analysis details:   (2.8 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: yoctocell.xyz (xyz)]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 0.0 RCVD_IN_MSPIKE_H4      RBL: Very Good reputation (+4)
 [209.51.188.17 listed in wl.mailspike.net]
 -2.3 RCVD_IN_DNSWL_MED      RBL: Sender listed at https://www.dnswl.org/,
 medium trust [209.51.188.17 listed in list.dnswl.org]
 1.6 FROM_SUSPICIOUS_NTLD_FP From abused NTLD
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
 0.5 FROM_SUSPICIOUS_NTLD   From abused NTLD
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.2 (/)

* gnu/packages/guile-xyz.scm (guile-define): New variable.
---
 gnu/packages/guile-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 6db5134344..6a84e5e052 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -1230,6 +1230,32 @@ using S-expressions.")
 tracker's SOAP service, such as @url{https://bugs.gnu.org}.")
     (license license:gpl3+)))
 
+(define-public guile-define
+  (let ((changeset "76881ea2bb68")
+        (revision "0"))
+    (package
+      (name "guile-define")
+      (version (hg-version "0.0.0" revision changeset))
+      (source
+       (origin
+         (method hg-fetch)
+         (uri (hg-reference
+               (url "https://hg.sr.ht/~bjoli/guile-define")
+               (changeset changeset)))
+         (file-name (hg-file-name name version))
+         (sha256
+          (base32 "1ns8p1j88x0ms8xalagz3qxjkzzvcg3dppz4balfcnr5pzy8zm4p"))))
+      (build-system guile-build-system)
+      (arguments
+       `(#:scheme-file-regexp "define\\.scm$"))
+      (native-inputs
+       `(("guile" ,guile-3.0)))
+      (home-page "https://hg.sr.ht/~bjoli/guile-define")
+      (synopsis "Definitions in expression contexts for Guile")
+      (description "This package provides a utility macro to allow
+@code{define}s in expression contexts of function bodies.")
+      (license license:isc))))
+
 (define-public guile-email
   (package
     (name "guile-email")

base-commit: 9caf7112ee50af26fbc4c1bd3c337f1f86b710af
-- 
2.31.1






Acknowledgement sent to Xinglu Chen <public@HIDDEN>:
New bug report received and forwarded. Copy sent to guix-patches@HIDDEN. Full text available.
Report forwarded to guix-patches@HIDDEN:
bug#48867; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 11 Jun 2021 16:45:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.