GNU bug report logs - #55230
CC Mode 5.35.1 (C++//l); Cache inconsistency

Previous Next

Package: cc-mode;

Reported by: Michael Welsh Duggan <mwd <at> md5i.com>

Date: Mon, 2 May 2022 19:31:02 UTC

Severity: normal

Done: Alan Mackenzie <acm <at> muc.de>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 55230 in the body.
You can then email your comments to 55230 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-cc-mode <at> gnu.org:
bug#55230; Package cc-mode. (Mon, 02 May 2022 19:31:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Welsh Duggan <mwd <at> md5i.com>:
New bug report received and forwarded. Copy sent to bug-cc-mode <at> gnu.org. (Mon, 02 May 2022 19:31:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Michael Welsh Duggan <mwd <at> md5i.com>
To: bug-gnu-emacs <at> gnu.org
Subject: CC Mode 5.35.1 (C++//l); Cache inconsistency
Date: Mon, 02 May 2022 15:30:09 -0400
Package: cc-mode

From emacs -Q:

C-x C-f /tmp/foo.cpp RET
M-x c-toggle-parse-state-debug RET
"{}

After typing the close brace, I get the following:
c-parse-state inconsistency at 3: using cache: (2), from scratch: nil.  POINT-MIN: 1
Old state:
(setq c-state-cache '(2)  c-state-cache-good-pos 1  c-state-nonlit-pos-cache nil  c-state-nonlit-pos-cache-limit 0  c-state-brace-pair-desert nil  c-state-point-min 1  c-state-point-min-lit-type nil  c-state-point-min-lit-start nil  c-state-min-scan-pos 1  c-state-old-cpp-beg nil  c-state-old-cpp-end nil  c-parse-state-point 3)

I have not noticed any indentation errors due to this, but any cache
inconsistency might lead to errors down the line, hence this report.

Emacs  : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0)
 of 2022-04-09
Package: CC Mode 5.35.1 (C++//l)
Buffer Style: gnu
c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)

current state:
==============
(setq
 c-basic-offset 2
 c-comment-only-line-offset '(0 . 0)
 c-indent-comment-alist '((anchored-comment column . 0) (end-block space . 1)
			  (cpp-end-block space . 2))
 c-indent-comments-syntactically-p nil
 c-block-comment-prefix ""
 c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (awk-mode . "#+")
			   (other . "//+\\|\\**"))
 c-doc-comment-style '((java-mode . javadoc) (pike-mode . autodoc)
		       (c-mode . gtkdoc) (c++-mode . gtkdoc))
 c-cleanup-list '(scope-operator)
 c-hanging-braces-alist '((substatement-open before after)
			  (arglist-cont-nonempty))
 c-hanging-colons-alist nil
 c-hanging-semi&comma-criteria '(c-semi&comma-inside-parenlist)
 c-backslash-column 48
 c-backslash-max-column 72
 c-special-indent-hook '(t c-gnu-impose-minimum)
 c-label-minimum-indentation 1
 c-offsets-alist '((inexpr-class . +)
		   (inexpr-statement . +)
		   (lambda-intro-cont . +)
		   (inlambda . 0)
		   (template-args-cont c-lineup-template-args +)
		   (incomposition . +)
		   (inmodule . +)
		   (innamespace . +)
		   (inextern-lang . +)
		   (composition-close . 0)
		   (module-close . 0)
		   (namespace-close . 0)
		   (extern-lang-close . 0)
		   (composition-open . 0)
		   (module-open . 0)
		   (namespace-open . 0)
		   (extern-lang-open . 0)
		   (objc-method-call-cont
		    c-lineup-ObjC-method-call-colons
		    c-lineup-ObjC-method-call
		    +
		    )
		   (objc-method-args-cont . c-lineup-ObjC-method-args)
		   (objc-method-intro . [0])
		   (friend . 0)
		   (cpp-define-intro c-lineup-cpp-define +)
		   (cpp-macro-cont . +)
		   (cpp-macro . [0])
		   (inclass . +)
		   (stream-op . c-lineup-streamop)
		   (arglist-cont-nonempty
		    c-lineup-gcc-asm-reg
		    c-lineup-arglist
		    )
		   (arglist-cont c-lineup-gcc-asm-reg 0)
		   (comment-intro
		    c-lineup-knr-region-comment
		    c-lineup-comment
		    )
		   (catch-clause . 0)
		   (else-clause . 0)
		   (do-while-closure . 0)
		   (access-label . -)
		   (case-label . 0)
		   (substatement . +)
		   (statement-case-intro . +)
		   (statement . 0)
		   (brace-entry-open . 0)
		   (brace-list-entry . 0)
		   (brace-list-close . 0)
		   (block-close . 0)
		   (block-open . 0)
		   (inher-cont . c-lineup-multi-inher)
		   (inher-intro . +)
		   (member-init-cont . c-lineup-multi-inher)
		   (member-init-intro . +)
		   (annotation-var-cont . +)
		   (annotation-top-cont . 0)
		   (topmost-intro . 0)
		   (knr-argdecl . 0)
		   (func-decl-cont . +)
		   (inline-close . 0)
		   (class-close . 0)
		   (class-open . 0)
		   (defun-block-intro . +)
		   (defun-close . 0)
		   (defun-open . 0)
		   (c . c-lineup-C-comments)
		   (string . c-lineup-dont-change)
		   (topmost-intro-cont
		    first
		    c-lineup-topmost-intro-cont
		    c-lineup-gnu-DEFUN-intro-cont
		    )
		   (brace-list-intro
		    first
		    c-lineup-2nd-brace-entry-in-arglist
		    c-lineup-class-decl-init-+
		    +
		    )
		   (brace-list-open . +)
		   (inline-open . 0)
		   (arglist-close . c-lineup-arglist)
		   (arglist-intro . c-lineup-arglist-intro-after-paren)
		   (statement-cont . +)
		   (statement-case-open . +)
		   (label . 0)
		   (substatement-label . 0)
		   (substatement-open . +)
		   (knr-argdecl-intro . 5)
		   (statement-block-intro . +)
		   )
 c-buffer-is-cc-mode 'c++-mode
 c-tab-always-indent t
 c-syntactic-indentation t
 c-syntactic-indentation-in-macros t
 c-ignore-auto-fill '(string cpp code)
 c-auto-align-backslashes t
 c-backspace-function 'backward-delete-char-untabify
 c-delete-function 'delete-char
 c-electric-pound-behavior nil
 c-default-style '((java-mode . "java") (awk-mode . "awk") (other . "gnu"))
 c-enable-xemacs-performance-kludge-p nil
 c-old-style-variable-behavior nil
 defun-prompt-regexp nil
 tab-width 8
 comment-column 32
 parse-sexp-ignore-comments t
 parse-sexp-lookup-properties t
 auto-fill-function nil
 comment-multi-line t
 comment-start-skip "\\(?://+\\|/\\*+\\)\\s *"
 fill-prefix nil
 fill-column 70
 paragraph-start "[ 	]*\\(//+\\|\\**\\)[ 	]*$\\|^\f"
 adaptive-fill-mode t
 adaptive-fill-regexp "[ 	]*\\(//+\\|\\**\\)[ 	]*\\([ 	]*\\([-–!|#%;>*·•‣⁃◦]+[ 	]*\\)*\\)"
 )
 

-- 
Michael Welsh Duggan
(md5i <at> md5i.com)




Information forwarded to bug-cc-mode <at> gnu.org:
bug#55230; Package cc-mode. (Tue, 03 May 2022 18:11:02 GMT) Full text and rfc822 format available.

Message #8 received at 55230 <at> debbugs.gnu.org (full text, mbox):

From: Alan Mackenzie <acm <at> muc.de>
To: Michael Welsh Duggan <mwd <at> md5i.com>
Cc: 55230 <at> debbugs.gnu.org
Subject: Re: bug#55230: CC Mode 5.35.1 (C++//l); Cache inconsistency
Date: Tue, 3 May 2022 18:10:36 +0000
Hello, Michael.

On Mon, May 02, 2022 at 15:30:09 -0400, Michael Welsh Duggan wrote:
> Package: cc-mode

> From emacs -Q:

> C-x C-f /tmp/foo.cpp RET
> M-x c-toggle-parse-state-debug RET
> "{}

> After typing the close brace, I get the following:
> c-parse-state inconsistency at 3: using cache: (2), from scratch: nil.  POINT-MIN: 1
> Old state:
> (setq c-state-cache '(2)  c-state-cache-good-pos 1  c-state-nonlit-pos-cache nil  c-state-nonlit-pos-cache-limit 0  c-state-brace-pair-desert nil  c-state-point-min 1  c-state-point-min-lit-type nil  c-state-point-min-lit-start nil  c-state-min-scan-pos 1  c-state-old-cpp-beg nil  c-state-old-cpp-end nil  c-parse-state-point 3)

> I have not noticed any indentation errors due to this, but any cache
> inconsistency might lead to errors down the line, hence this report.

Many thanks for the bug report.

This time it is not the cache mechanism itself which is at fault.
Instead, it is the first character ", which since it is unbalanced by
another ", has had its syntax is temporarily "commented out" by giving
it a syntax-table property of "punctuation".  The parse-state cache was
generated whilst in this state, but used when it no longer was, hence
the inconsistency.

There are somewhere between 10 and 20 occurrences of c-parse-state in
the source code which will need to be "protected" against this fault.  I
hope to be able to finish this work in the next two or three days, when
I'll get back to you again.

> Emacs  : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0)
>  of 2022-04-09
> Package: CC Mode 5.35.1 (C++//l)
> Buffer Style: gnu
> c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)

[ CC Mode state dump appreciated, but snipped. ]

> -- 
> Michael Welsh Duggan
> (md5i <at> md5i.com)

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-cc-mode <at> gnu.org:
bug#55230; Package cc-mode. (Tue, 17 May 2022 09:56:01 GMT) Full text and rfc822 format available.

Message #11 received at 55230 <at> debbugs.gnu.org (full text, mbox):

From: Alan Mackenzie <acm <at> muc.de>
To: Michael Welsh Duggan <mwd <at> md5i.com>
Cc: 55230 <at> debbugs.gnu.org
Subject: Re: bug#55230: CC Mode 5.35.1 (C++//l); Cache inconsistency
Date: Tue, 17 May 2022 09:55:27 +0000
[Message part 1 (text/plain, inline)]
Hello again, Michael.

On Tue, May 03, 2022 at 18:10:36 +0000, Alan Mackenzie wrote:
> On Mon, May 02, 2022 at 15:30:09 -0400, Michael Welsh Duggan wrote:
> > Package: cc-mode

> > From emacs -Q:

> > C-x C-f /tmp/foo.cpp RET
> > M-x c-toggle-parse-state-debug RET
> > "{}

> > After typing the close brace, I get the following:
> > c-parse-state inconsistency at 3: using cache: (2), from scratch: nil.  POINT-MIN: 1
> > Old state:
> > (setq c-state-cache '(2)  c-state-cache-good-pos 1  c-state-nonlit-pos-cache nil  c-state-nonlit-pos-cache-limit 0  c-state-brace-pair-desert nil  c-state-point-min 1  c-state-point-min-lit-type nil  c-state-point-min-lit-start nil  c-state-min-scan-pos 1  c-state-old-cpp-beg nil  c-state-old-cpp-end nil  c-parse-state-point 3)

> > I have not noticed any indentation errors due to this, but any cache
> > inconsistency might lead to errors down the line, hence this report.

> Many thanks for the bug report.

> This time it is not the cache mechanism itself which is at fault.
> Instead, it is the first character ", which since it is unbalanced by
> another ", has had its syntax is temporarily "commented out" by giving
> it a syntax-table property of "punctuation".  The parse-state cache was
> generated whilst in this state, but used when it no longer was, hence
> the inconsistency.

> There are somewhere between 10 and 20 occurrences of c-parse-state in
> the source code which will need to be "protected" against this fault.  I
> hope to be able to finish this work in the next two or three days, when
> I'll get back to you again.

There were actually 32 such occurrences, and they have generated a rather
large patch which I am taking the liberty of just sending to you.  The
vast bulk of this patch is just putting (c-with-string-fences ....)
around these functions, reindenting them.

I've attached the patch as a separate file because it is so big.  It
should apply cleanly to the CC Mode in the Emacs savannah master version.
Would you please apply it and try it out a bit, and let me know how well
it works.  Thanks!

> > Emacs  : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0)
> >  of 2022-04-09
> > Package: CC Mode 5.35.1 (C++//l)
> > Buffer Style: gnu
> > c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)

> > -- 
> > Michael Welsh Duggan
> > (md5i <at> md5i.com)

-- 
Alan Mackenzie (Nuremberg, Germany).

[diff.20220517.diff (text/plain, attachment)]

Information forwarded to bug-cc-mode <at> gnu.org:
bug#55230; Package cc-mode. (Thu, 19 May 2022 04:25:02 GMT) Full text and rfc822 format available.

Message #14 received at 55230 <at> debbugs.gnu.org (full text, mbox):

From: Michael Welsh Duggan <mwd <at> md5i.com>
To: Alan Mackenzie <acm <at> muc.de>
Cc: Michael Welsh Duggan <mwd <at> md5i.com>, 55230 <at> debbugs.gnu.org
Subject: Re: bug#55230: CC Mode 5.35.1 (C++//l); Cache inconsistency
Date: Thu, 19 May 2022 00:24:18 -0400
Alan Mackenzie <acm <at> muc.de> writes:

> Hello again, Michael.
>
> On Tue, May 03, 2022 at 18:10:36 +0000, Alan Mackenzie wrote:
>> On Mon, May 02, 2022 at 15:30:09 -0400, Michael Welsh Duggan wrote:
>> > Package: cc-mode
>
>> > From emacs -Q:
>
>> > C-x C-f /tmp/foo.cpp RET
>> > M-x c-toggle-parse-state-debug RET
>> > "{}
>
>> > After typing the close brace, I get the following:
>> > c-parse-state inconsistency at 3: using cache: (2), from scratch:
>> > nil.  POINT-MIN: 1
>> > Old state:
>> > (setq c-state-cache '(2) c-state-cache-good-pos 1
>> > c-state-nonlit-pos-cache nil c-state-nonlit-pos-cache-limit 0
>> > c-state-brace-pair-desert nil c-state-point-min 1
>> > c-state-point-min-lit-type nil c-state-point-min-lit-start nil
>> > c-state-min-scan-pos 1 c-state-old-cpp-beg nil c-state-old-cpp-end
>> > nil c-parse-state-point 3)
>
>> > I have not noticed any indentation errors due to this, but any cache
>> > inconsistency might lead to errors down the line, hence this report.
>
>> Many thanks for the bug report.
>
>> This time it is not the cache mechanism itself which is at fault.
>> Instead, it is the first character ", which since it is unbalanced by
>> another ", has had its syntax is temporarily "commented out" by giving
>> it a syntax-table property of "punctuation".  The parse-state cache was
>> generated whilst in this state, but used when it no longer was, hence
>> the inconsistency.
>
>> There are somewhere between 10 and 20 occurrences of c-parse-state in
>> the source code which will need to be "protected" against this fault.  I
>> hope to be able to finish this work in the next two or three days, when
>> I'll get back to you again.
>
> There were actually 32 such occurrences, and they have generated a rather
> large patch which I am taking the liberty of just sending to you.  The
> vast bulk of this patch is just putting (c-with-string-fences ....)
> around these functions, reindenting them.
>
> I've attached the patch as a separate file because it is so big.  It
> should apply cleanly to the CC Mode in the Emacs savannah master version.
> Would you please apply it and try it out a bit, and let me know how well
> it works.  Thanks!

Unfortunately, it has some major problems.  If you follow the original
recipe, after the first brace is input cc-mode errors out with "Marker
does not point anywhere".  Backtrace follows:

Debugger entered--Lisp error: (error "Marker does not point anywhere")
  c-restore-string-fences()
  c-electric-brace(nil)
  funcall-interactively(c-electric-brace nil)
  command-execute(c-electric-brace)


>> > Emacs  : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0)
>> >  of 2022-04-09
>> > Package: CC Mode 5.35.1 (C++//l)
>> > Buffer Style: gnu
>> > c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)
>
>> > -- 
>> > Michael Welsh Duggan
>> > (md5i <at> md5i.com)

-- 
Michael Welsh Duggan
(md5i <at> md5i.com)




Information forwarded to bug-cc-mode <at> gnu.org:
bug#55230; Package cc-mode. (Sat, 21 May 2022 10:04:01 GMT) Full text and rfc822 format available.

Message #17 received at 55230 <at> debbugs.gnu.org (full text, mbox):

From: Alan Mackenzie <acm <at> muc.de>
To: Michael Welsh Duggan <mwd <at> md5i.com>
Cc: 55230 <at> debbugs.gnu.org
Subject: Re: bug#55230: CC Mode 5.35.1 (C++//l); Cache inconsistency
Date: Sat, 21 May 2022 10:03:10 +0000
[Message part 1 (text/plain, inline)]
Hello, Michael.

On Thu, May 19, 2022 at 00:24:18 -0400, Michael Welsh Duggan wrote:

> Unfortunately, it [the patch] has some major problems.  If you follow
> the original recipe, after the first brace is input cc-mode errors out
> with "Marker does not point anywhere".  Backtrace follows:

> Debugger entered--Lisp error: (error "Marker does not point anywhere")
>   c-restore-string-fences()
>   c-electric-brace(nil)
>   funcall-interactively(c-electric-brace nil)
>   command-execute(c-electric-brace)

Apologies for that.  I had failed to test the scenario from a freshly
started Emacs.  The problem was setting and clearing text properties
without masking before-change-functions and after-change-functions.
This allowed a recursive call to these text property functions which
fouled things up.

This is now corrected.  Please undo the previous faulty patch and apply
the one in this post instead.  I think it should have fixed the bug.
Thanks!  I look forward to hearing from you again.

> >> > Emacs  : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0)
> >> >  of 2022-04-09
> >> > Package: CC Mode 5.35.1 (C++//l)
> >> > Buffer Style: gnu
> >> > c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)

> -- 
> Michael Welsh Duggan
> (md5i <at> md5i.com)

-- 
Alan Mackenzie (Nuremberg, Germany).

[diff.20220520.diff (text/plain, attachment)]

Information forwarded to bug-cc-mode <at> gnu.org:
bug#55230; Package cc-mode. (Sun, 22 May 2022 13:35:02 GMT) Full text and rfc822 format available.

Message #20 received at 55230 <at> debbugs.gnu.org (full text, mbox):

From: Michael Welsh Duggan <mwd <at> md5i.com>
To: Alan Mackenzie <acm <at> muc.de>
Cc: Michael Welsh Duggan <mwd <at> md5i.com>, 55230 <at> debbugs.gnu.org
Subject: Re: bug#55230: CC Mode 5.35.1 (C++//l); Cache inconsistency
Date: Sun, 22 May 2022 09:33:53 -0400
Alan Mackenzie <acm <at> muc.de> writes:

> On Thu, May 19, 2022 at 00:24:18 -0400, Michael Welsh Duggan wrote:
>
>> Unfortunately, it [the patch] has some major problems.  If you follow
>> the original recipe, after the first brace is input cc-mode errors out
>> with "Marker does not point anywhere".  Backtrace follows:
>
>> Debugger entered--Lisp error: (error "Marker does not point anywhere")
>>   c-restore-string-fences()
>>   c-electric-brace(nil)
>>   funcall-interactively(c-electric-brace nil)
>>   command-execute(c-electric-brace)
>
> Apologies for that.  I had failed to test the scenario from a freshly
> started Emacs.  The problem was setting and clearing text properties
> without masking before-change-functions and after-change-functions.
> This allowed a recursive call to these text property functions which
> fouled things up.
>
> This is now corrected.  Please undo the previous faulty patch and apply
> the one in this post instead.  I think it should have fixed the bug.
> Thanks!  I look forward to hearing from you again.

That seems to have done the trick.  Thank you!

>> >> > Emacs : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X
>> >> > toolkit, cairo version 1.16.0)
>> >> >  of 2022-04-09
>> >> > Package: CC Mode 5.35.1 (C++//l)
>> >> > Buffer Style: gnu
>> >> > c-emacs-features: (pps-extended-state col-0-paren
>> >> > posix-char-classes gen-string-delim gen-comment-delim
>> >> > syntax-properties 1-bit)

-- 
Michael Welsh Duggan
(md5i <at> md5i.com)




Reply sent to Alan Mackenzie <acm <at> muc.de>:
You have taken responsibility. (Sun, 22 May 2022 17:13:02 GMT) Full text and rfc822 format available.

Notification sent to Michael Welsh Duggan <mwd <at> md5i.com>:
bug acknowledged by developer. (Sun, 22 May 2022 17:13:02 GMT) Full text and rfc822 format available.

Message #25 received at 55230-done <at> debbugs.gnu.org (full text, mbox):

From: Alan Mackenzie <acm <at> muc.de>
To: Michael Welsh Duggan <mwd <at> md5i.com>
Cc: acm <at> muc.de, 55230-done <at> debbugs.gnu.org
Subject: Re: bug#55230: CC Mode 5.35.1 (C++//l); Cache inconsistency
Date: Sun, 22 May 2022 17:12:11 +0000
Hello, Michael.

On Sun, May 22, 2022 at 09:33:53 -0400, Michael Welsh Duggan wrote:
> Alan Mackenzie <acm <at> muc.de> writes:

> > On Thu, May 19, 2022 at 00:24:18 -0400, Michael Welsh Duggan wrote:

> >> Unfortunately, it [the patch] has some major problems.  If you follow
> >> the original recipe, after the first brace is input cc-mode errors out
> >> with "Marker does not point anywhere".  Backtrace follows:

> >> Debugger entered--Lisp error: (error "Marker does not point anywhere")
> >>   c-restore-string-fences()
> >>   c-electric-brace(nil)
> >>   funcall-interactively(c-electric-brace nil)
> >>   command-execute(c-electric-brace)

> > Apologies for that.  I had failed to test the scenario from a freshly
> > started Emacs.  The problem was setting and clearing text properties
> > without masking before-change-functions and after-change-functions.
> > This allowed a recursive call to these text property functions which
> > fouled things up.

> > This is now corrected.  Please undo the previous faulty patch and apply
> > the one in this post instead.  I think it should have fixed the bug.
> > Thanks!  I look forward to hearing from you again.

> That seems to have done the trick.  Thank you!

Thank you for the testing!  I have now committed the patch, and I am
closing the bug with this post.

> >> >> > Emacs : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X
> >> >> > toolkit, cairo version 1.16.0)
> >> >> >  of 2022-04-09
> >> >> > Package: CC Mode 5.35.1 (C++//l)
> >> >> > Buffer Style: gnu
> >> >> > c-emacs-features: (pps-extended-state col-0-paren
> >> >> > posix-char-classes gen-string-delim gen-comment-delim
> >> >> > syntax-properties 1-bit)

> -- 
> Michael Welsh Duggan
> (md5i <at> md5i.com)

-- 
Alan Mackenzie (Nuremberg, Germany).




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 20 Jun 2022 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 310 days ago.

Previous Next


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