GNU logs - #74294, boring messages


Message sent to monnier@HIDDEN, bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#74294: Master: debug-on-error is ineffective whilst requiring a file from the byte compiler.
Resent-From: Alan Mackenzie <acm@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: monnier@HIDDEN, bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 10 Nov 2024 13:06:02 +0000
Resent-Message-ID: <handler.74294.B.17312439503157 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 74294
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 74294 <at> debbugs.gnu.org
Cc: Stefan Monnier <monnier@HIDDEN>
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
X-Debbugs-Original-Xcc: Stefan Monnier <monnier@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.17312439503157
          (code B ref -1); Sun, 10 Nov 2024 13:06:02 +0000
Received: (at submit) by debbugs.gnu.org; 10 Nov 2024 13:05:50 +0000
Received: from localhost ([127.0.0.1]:56117 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tA7dV-0000oq-Su
	for submit <at> debbugs.gnu.org; Sun, 10 Nov 2024 08:05:50 -0500
Received: from lists.gnu.org ([209.51.188.17]:36226)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <acm@HIDDEN>) id 1tA7dT-0000oi-N7
 for submit <at> debbugs.gnu.org; Sun, 10 Nov 2024 08:05:48 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <acm@HIDDEN>) id 1tA7dS-0000Ms-En
 for bug-gnu-emacs@HIDDEN; Sun, 10 Nov 2024 08:05:47 -0500
Received: from mail.muc.de ([193.149.48.3])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <acm@HIDDEN>) id 1tA7dO-00022v-DS
 for bug-gnu-emacs@HIDDEN; Sun, 10 Nov 2024 08:05:45 -0500
Received: (qmail 38180 invoked by uid 3782); 10 Nov 2024 14:05:37 +0100
Received: from muc.de (pd953a71d.dip0.t-ipconnect.de [217.83.167.29]) (using
 STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP;
 Sun, 10 Nov 2024 14:05:36 +0100
Received: (qmail 16004 invoked by uid 1000); 10 Nov 2024 13:05:36 -0000
Date: Sun, 10 Nov 2024 13:05:36 +0000
Message-ID: <ZzCvoEewfYAUy73l@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Submission-Agent: TMDA/1.3.x (Ph3nix)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
Received-SPF: pass client-ip=193.149.48.3; envelope-from=acm@HIDDEN;
 helo=mail.muc.de
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
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.4 (--)

Hello, Emacs.

In master (any recent version):

Create the following files:

1: ~/test-byte-compile-errors.el:
#########################################################################
;; -*- lexical-binding:t -*-
(require 'test-byte-compile-errors-2 "~/test-byte-compile-errors-2")
#########################################################################

2: ~/test-byte-compile-errors-2.el:
#########################################################################
;; -*- lexical-binding:t -*-
(car 'baz)

(provide 'test-byte-compile-errors-2)
#########################################################################

(Note the erroneous (car 'baz) in this file.)

(i) emacs -Q
(ii) M-: (setq debug-on-error t) RET
(iii) M-x byte-compile-file RET ~/test-byte-compile-errors.el RET

(iv) The error message:

    test-byte-compile-errors.el:2:11: Error: Wrong type argument: listp, baz

is displayed.  The debugger is not run.  This is surely a bug.

(Note also, the file name displayed is not that where the error is: See
bug#66912.)

#########################################################################

Diagnosis
---------

In the function bytecomp--displaying-warnings (bytecomp.el), a blocking
condition-case is set up, except when byte-compile-debug is non-nil.
This prevents the debugger running.  The problem is, the effect of this
condition-case prevails even outside the byte compiler whilst loading a
file with `require'.

#########################################################################

Proposed Resolution
-------------------

Set up one or more handler-binds around the parts of Fload that evaluate
the contents of the file being loaded.  In the event of an error, the
handler-bind handler would trigger, test debug-on-error, and if it's set
appropriately, call the debugger, then quit.  Otherwise, the handler
would return, and the error handling would eventually reach the
condition-case set up by bytecomp--displaying-warnings.

-- 
Alan Mackenzie (Nuremberg, Germany).




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Alan Mackenzie <acm@HIDDEN>
Subject: bug#74294: Acknowledgement (Master: debug-on-error is ineffective
 whilst requiring a file from the byte compiler.)
Message-ID: <handler.74294.B.17312439503157.ack <at> debbugs.gnu.org>
References: <ZzCvoEewfYAUy73l@HIDDEN>
X-Gnu-PR-Message: ack 74294
X-Gnu-PR-Package: emacs
Reply-To: 74294 <at> debbugs.gnu.org
Date: Sun, 10 Nov 2024 13:06:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

As you requested using X-Debbugs-CC, your message was also forwarded to
  Stefan Monnier <monnier@HIDDEN>
(after having been given a bug report number, if it did not have one).

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 74294 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
74294: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D74294
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#74294: Master: debug-on-error is ineffective whilst requiring a file from the byte compiler.
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 10 Nov 2024 17:32:01 +0000
Resent-Message-ID: <handler.74294.B74294.173125991817001 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 74294
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Alan Mackenzie <acm@HIDDEN>
Cc: 74294 <at> debbugs.gnu.org
Received: via spool by 74294-submit <at> debbugs.gnu.org id=B74294.173125991817001
          (code B ref 74294); Sun, 10 Nov 2024 17:32:01 +0000
Received: (at 74294) by debbugs.gnu.org; 10 Nov 2024 17:31:58 +0000
Received: from localhost ([127.0.0.1]:56471 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tABn3-0004Q9-Np
	for submit <at> debbugs.gnu.org; Sun, 10 Nov 2024 12:31:58 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:20319)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1tABn1-0004Pt-EW
 for 74294 <at> debbugs.gnu.org; Sun, 10 Nov 2024 12:31:56 -0500
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 12CC91001D9;
 Sun, 10 Nov 2024 12:31:49 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1731259908;
 bh=ngj2SB4gZDTRnpFX1RTq84s1L2yMnWgu1xe1r/mrSkg=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=Wr2u3SqdJBrojSo4uk/+iZcHNL4fvWYKLjLcYNxN9kHWfnboKEHnWLghc4n3mnTrA
 nEtHAFA28t1AJfvMPkSSWQ1Gt8nEcKeraVvCyD7j0Kxn66noWzOW++HvXvctw87WIy
 e9EtfyI0GLOtPb4xpCwFOUJBhX4psJmgiUzdXv0ZiwtZSRpBd+jYdIw2YEiSSLySz1
 7qw4bebrgfgtd1w4twvbJ4ZQ0FRQ9NRW+oVVVysdXJlMj4lkGxbihuUnRlA7ITemzN
 QVmsgR66u3kqiZz7UASGl1aSYffD+34ehLI2OmjH5JIoozk8coFbYrYBMHmV6H9Q7a
 vEU8YdeJGRVDA==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 46A1C100180;
 Sun, 10 Nov 2024 12:31:48 -0500 (EST)
Received: from pastel (104-195-225-43.cpe.teksavvy.com [104.195.225.43])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 1C1341202F2;
 Sun, 10 Nov 2024 12:31:48 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <ZzCvoEewfYAUy73l@HIDDEN> (Alan Mackenzie's message of
 "Sun, 10 Nov 2024 13:05:36 +0000")
Message-ID: <jwvpln3vwa5.fsf-monnier+emacs@HIDDEN>
References: <ZzCvoEewfYAUy73l@HIDDEN>
Date: Sun, 10 Nov 2024 12:31:46 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.065 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> Create the following files:
>
> 1: ~/test-byte-compile-errors.el:
> #########################################################################
> ;; -*- lexical-binding:t -*-
> (require 'test-byte-compile-errors-2 "~/test-byte-compile-errors-2")
> #########################################################################
>
> 2: ~/test-byte-compile-errors-2.el:
> #########################################################################
> ;; -*- lexical-binding:t -*-
> (car 'baz)
>
> (provide 'test-byte-compile-errors-2)
> #########################################################################
>
> (Note the erroneous (car 'baz) in this file.)
>
> (i) emacs -Q
> (ii) M-: (setq debug-on-error t) RET
> (iii) M-x byte-compile-file RET ~/test-byte-compile-errors.el RET
>
> (iv) The error message:
>
>     test-byte-compile-errors.el:2:11: Error: Wrong type argument: listp, baz
>
> is displayed.  The debugger is not run.  This is surely a bug.
>
> (Note also, the file name displayed is not that where the error is: See
> bug#66912.)
>
> #########################################################################
>
> Diagnosis
> ---------
>
> In the function bytecomp--displaying-warnings (bytecomp.el), a blocking
> condition-case is set up, except when byte-compile-debug is non-nil.
> This prevents the debugger running.  The problem is, the effect of this
> condition-case prevails even outside the byte compiler whilst loading a
> file with `require'.

Hmm... whether it's "outside the byte compiler" or not is debatable.
[ FWIW, I've been annoyed by the behavior as well, but just decided to set
  `byte-compile-debug` to t in my init file, and life is bliss since then.  ]

> Set up one or more handler-binds around the parts of Fload that evaluate
> the contents of the file being loaded.  In the event of an error, the
> handler-bind handler would trigger, test debug-on-error, and if it's set
> appropriately, call the debugger, then quit.  Otherwise, the handler
> would return, and the error handling would eventually reach the
> condition-case set up by bytecomp--displaying-warnings.

Is the problem specific to `load`, really?
What about errors within `eval-when-compile` or during the expansion of
one of the macros?

Also, do you really want to bring up the debugger in cases like

    (eval-when-compile
      (condition-case nil
          (require ...)
        (error ...)))

which I've seen used in a few packages out there?


        Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#74294: Master: debug-on-error is ineffective whilst requiring a file from the byte compiler.
Resent-From: Alan Mackenzie <acm@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 10 Nov 2024 18:39:01 +0000
Resent-Message-ID: <handler.74294.B74294.173126391828422 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 74294
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Stefan Monnier <monnier@HIDDEN>
Cc: acm@HIDDEN, 74294 <at> debbugs.gnu.org
Received: via spool by 74294-submit <at> debbugs.gnu.org id=B74294.173126391828422
          (code B ref 74294); Sun, 10 Nov 2024 18:39:01 +0000
Received: (at 74294) by debbugs.gnu.org; 10 Nov 2024 18:38:38 +0000
Received: from localhost ([127.0.0.1]:56581 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tACpZ-0007OL-Fg
	for submit <at> debbugs.gnu.org; Sun, 10 Nov 2024 13:38:37 -0500
Received: from mail.muc.de ([193.149.48.3]:37743)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <acm@HIDDEN>) id 1tACpW-0007O7-FA
 for 74294 <at> debbugs.gnu.org; Sun, 10 Nov 2024 13:38:36 -0500
Received: (qmail 13294 invoked by uid 3782); 10 Nov 2024 19:38:27 +0100
Received: from muc.de (pd953a71d.dip0.t-ipconnect.de [217.83.167.29]) (using
 STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP;
 Sun, 10 Nov 2024 19:38:27 +0100
Received: (qmail 22115 invoked by uid 1000); 10 Nov 2024 18:38:27 -0000
Date: Sun, 10 Nov 2024 18:38:26 +0000
Message-ID: <ZzD9ogVKW9E4ilKY@HIDDEN>
References: <ZzCvoEewfYAUy73l@HIDDEN>
 <jwvpln3vwa5.fsf-monnier+emacs@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <jwvpln3vwa5.fsf-monnier+emacs@HIDDEN>
X-Submission-Agent: TMDA/1.3.x (Ph3nix)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: 0.0 (/)
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.0 (-)

Hello, Stefan.

On Sun, Nov 10, 2024 at 12:31:46 -0500, Stefan Monnier wrote:
> > Create the following files:

> > 1: ~/test-byte-compile-errors.el:
> > #########################################################################
> > ;; -*- lexical-binding:t -*-
> > (require 'test-byte-compile-errors-2 "~/test-byte-compile-errors-2")
> > #########################################################################

> > 2: ~/test-byte-compile-errors-2.el:
> > #########################################################################
> > ;; -*- lexical-binding:t -*-
> > (car 'baz)

> > (provide 'test-byte-compile-errors-2)
> > #########################################################################

> > (Note the erroneous (car 'baz) in this file.)

> > (i) emacs -Q
> > (ii) M-: (setq debug-on-error t) RET
> > (iii) M-x byte-compile-file RET ~/test-byte-compile-errors.el RET

> > (iv) The error message:

> >     test-byte-compile-errors.el:2:11: Error: Wrong type argument: listp, baz

> > is displayed.  The debugger is not run.  This is surely a bug.

> > (Note also, the file name displayed is not that where the error is: See
> > bug#66912.)

> > #########################################################################

> > Diagnosis
> > ---------

> > In the function bytecomp--displaying-warnings (bytecomp.el), a blocking
> > condition-case is set up, except when byte-compile-debug is non-nil.
> > This prevents the debugger running.  The problem is, the effect of this
> > condition-case prevails even outside the byte compiler whilst loading a
> > file with `require'.

> Hmm... whether it's "outside the byte compiler" or not is debatable.

Well for sure, we're not processing functions beginning "byte-compile-"
at the time.  And perhaps most pertinently, an error in Fload doesn't
(?can't be made to) invoke the byte compiler's error mechanism
satisfactorally.

> [ FWIW, I've been annoyed by the behavior as well, but just decided to set
>   `byte-compile-debug` to t in my init file, and life is bliss since then.  ]

That's fine for those who know about byte-compile-debug.  I suspect the
vast majority of users don't.  And it's a hassle to have to run something
THREE times to get a backtrace:  The first time the error happens, the
second time the user sets debug-on-error, then after considerable
frustration and looking up of the elisp manual, the third time with
byte-compile-debug set too.

There might be an argument here for removing byte-compile-debug and that
condition-case altogether, but that's not what I'm arguing at the moment.

> > Set up one or more handler-binds around the parts of Fload that evaluate
> > the contents of the file being loaded.  In the event of an error, the
> > handler-bind handler would trigger, test debug-on-error, and if it's set
> > appropriately, call the debugger, then quit.  Otherwise, the handler
> > would return, and the error handling would eventually reach the
> > condition-case set up by bytecomp--displaying-warnings.

> Is the problem specific to `load`, really?

Yes, I think it is.  Because it is precisely during Fload called from the
byte compiler when a signalled error gives no clue as to the source of
that error.

> What about errors within `eval-when-compile` or during the expansion of
> one of the macros?

Errors there will say where they have happened, more or less.

> Also, do you really want to bring up the debugger in cases like

>     (eval-when-compile
>       (condition-case nil
>           (require ...)
>         (error ...)))

> which I've seen used in a few packages out there?

When debug-on-error is enabled, yes.  To do everything the way we'd like,
we don't have enough control levers.  It is probably better to enter the
debugger in the above case (the user did set debug-on-error after all)
than not enter it when an error happens in a deep stack of `require's.

>         Stefan

-- 
Alan Mackenzie (Nuremberg, Germany).





Last modified: Sun, 12 Jan 2025 05:45:02 UTC

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