GNU bug report logs - #69254
14.0.2; outline-hide-body doesn't work when called in LaTeX-mode-hook

Previous Next

Package: auctex;

Reported by: Richard Stanton <rhstanton <at> berkeley.edu>

Date: Sun, 18 Feb 2024 19:52:02 UTC

Severity: normal

Found in version 14.0.2

Done: Ikumi Keita <ikumi <at> ikumi.que.jp>

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 69254 in the body.
You can then email your comments to 69254 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-auctex <at> gnu.org:
bug#69254; Package auctex. (Sun, 18 Feb 2024 19:52:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Richard Stanton <rhstanton <at> berkeley.edu>:
New bug report received and forwarded. Copy sent to bug-auctex <at> gnu.org. (Sun, 18 Feb 2024 19:52:02 GMT) Full text and rfc822 format available.

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

From: Richard Stanton <rhstanton <at> berkeley.edu>
To: bug-auctex <at> gnu.org
Subject: 14.0.2; outline-hide-body doesn't work when called in LaTeX-mode-hook
Date: Sun, 18 Feb 2024 11:50:39 -0800
Using Emacs 29.2 under MacOS 12.7.3, I want LaTeX files to open with
section bodies hidden, and just headers showing. I can get this to work
manually when I'm editing the file by running the command
"outline-hide-body". But when I run the same command as part of
LaTeX-mode-hook, the file opens with nothing hidden.

Here's the relevant portion of my init.el file. The rest of it just
deals with setting up straight.el:

(use-package tex :straight auctex)

(add-hook 'LaTeX-mode-hook (lambda()
                             (outline-minor-mode 1)
                             (outline-hide-body)
                             ))

Note that:

1) If I add other commands to this LaTeX-mode-hook, they get executed just
fine. it seems to be only the outline-hide-body command that isn't doing
what I expect.

2) Everything works as I hope if I don't load AUCTeX but use the
built-in LaTeX mode instead (with the appropriately renamed hook).

Is this a bug, or am i missing something?

Thanks for any help

Richard Stanton


Emacs  : GNU Emacs 29.2 (build 1, x86_64-apple-darwin21.6.0, NS appkit-2113.60 Version 12.7.3 (Build 21H1015))
 of 2024-02-09
Package: 14.0.2

current state:
==============
(setq
 AUCTeX-date "2024-02-09"
 window-system 'ns
 LaTeX-version "2e"
 TeX-style-path '("/usr/local/var/auctex"
		  "/Users/stanton/.emacs.d/straight/build/auctex/style"
		  "/Users/stanton/.emacs.d/auctex/auto"
		  "/Users/stanton/.emacs.d/auctex/style" "auto" "style")
 TeX-auto-save nil
 TeX-parse-self nil
 TeX-master t
 TeX-command-list '(("TeX"
		     "%(PDF)%(tex) %(file-line-error) %`%(extraopts) %S%(PDFout)%(mode)%' %(output-dir) %t"
		     TeX-run-TeX nil (plain-TeX-mode AmSTeX-mode Texinfo-mode)
		     :help "Run plain TeX")
		    ("LaTeX" "%`%l%(mode)%' %T" TeX-run-TeX nil
		     (LaTeX-mode docTeX-mode) :help "Run LaTeX")
		    ("Makeinfo" "makeinfo %(extraopts) %(o-dir) %t"
		     TeX-run-compile nil (Texinfo-mode) :help
		     "Run Makeinfo with Info output")
		    ("Makeinfo HTML"
		     "makeinfo %(extraopts) %(o-dir) --html %t"
		     TeX-run-compile nil (Texinfo-mode) :help
		     "Run Makeinfo with HTML output")
		    ("AmSTeX"
		     "amstex %(PDFout) %`%(extraopts) %S%(mode)%' %(output-dir) %t"
		     TeX-run-TeX nil (AmSTeX-mode) :help "Run AMSTeX")
		    ("ConTeXt"
		     "%(cntxcom) --once --texutil %(extraopts) %(execopts)%t"
		     TeX-run-TeX nil (ConTeXt-mode) :help "Run ConTeXt once")
		    ("ConTeXt Full" "%(cntxcom) %(extraopts) %(execopts)%t"
		     TeX-run-TeX nil (ConTeXt-mode) :help
		     "Run ConTeXt until completion")
		    ("BibTeX" "bibtex %(O?aux)" TeX-run-BibTeX nil
		     (plain-TeX-mode LaTeX-mode docTeX-mode AmSTeX-mode
		      Texinfo-mode ConTeXt-mode)
		     :help "Run BibTeX")
		    ("Biber" "biber %(output-dir) %s" TeX-run-Biber nil
		     (plain-TeX-mode LaTeX-mode docTeX-mode AmSTeX-mode
		      Texinfo-mode)
		     :help "Run Biber")
		    ("Texindex" "texindex %s.??" TeX-run-command nil
		     (Texinfo-mode) :help "Run Texindex")
		    ("Texi2dvi" "%(PDF)texi2dvi %t" TeX-run-command nil
		     (Texinfo-mode) :help "Run Texi2dvi or Texi2pdf")
		    ("View" "%V" TeX-run-discard-or-function t t :help
		     "Run Viewer")
		    ("Print" "%p" TeX-run-command t t :help "Print the file")
		    ("Queue" "%q" TeX-run-background nil t :help
		     "View the printer queue" :visible TeX-queue-command)
		    ("File" "%(o?)dvips %d -o %f " TeX-run-dvips t
		     (plain-TeX-mode LaTeX-mode docTeX-mode AmSTeX-mode
		      Texinfo-mode)
		     :help "Generate PostScript file")
		    ("Dvips" "%(o?)dvips %d -o %f " TeX-run-dvips nil
		     (plain-TeX-mode LaTeX-mode docTeX-mode AmSTeX-mode
		      Texinfo-mode)
		     :help "Convert DVI file to PostScript")
		    ("Dvipdfmx" "dvipdfmx -o %(O?pdf) %d" TeX-run-dvipdfmx nil
		     (plain-TeX-mode LaTeX-mode docTeX-mode AmSTeX-mode
		      Texinfo-mode)
		     :help "Convert DVI file to PDF with dvipdfmx")
		    ("Ps2pdf" "ps2pdf %f %(O?pdf)" TeX-run-ps2pdf nil
		     (plain-TeX-mode LaTeX-mode docTeX-mode AmSTeX-mode
		      Texinfo-mode)
		     :help "Convert PostScript file to PDF")
		    ("Glossaries" "makeglossaries %(d-dir) %s" TeX-run-command
		     nil
		     (plain-TeX-mode LaTeX-mode docTeX-mode AmSTeX-mode
		      Texinfo-mode)
		     :help "Run makeglossaries to create glossary file")
		    ("Index" "makeindex %(O?idx)" TeX-run-index nil
		     (plain-TeX-mode LaTeX-mode docTeX-mode AmSTeX-mode
		      Texinfo-mode)
		     :help "Run makeindex to create index file")
		    ("upMendex" "upmendex %(O?idx)" TeX-run-index t
		     (plain-TeX-mode LaTeX-mode docTeX-mode AmSTeX-mode
		      Texinfo-mode)
		     :help "Run upmendex to create index file")
		    ("Xindy" "texindy %s" TeX-run-command nil
		     (plain-TeX-mode LaTeX-mode docTeX-mode AmSTeX-mode
		      Texinfo-mode)
		     :help "Run xindy to create index file")
		    ("Check" "lacheck %s" TeX-run-compile nil (LaTeX-mode)
		     :help "Check LaTeX file for correctness")
		    ("ChkTeX" "chktex -v6 %s" TeX-run-compile nil (LaTeX-mode)
		     :help "Check LaTeX file for common mistakes")
		    ("Spell" "(TeX-ispell-document \"\")" TeX-run-function nil
		     t :help "Spell-check the document")
		    ("Clean" "TeX-clean" TeX-run-function nil t :help
		     "Delete generated intermediate files")
		    ("Clean All" "(TeX-clean t)" TeX-run-function nil t :help
		     "Delete generated intermediate and output files")
		    ("Other" "" TeX-run-command t t :help
		     "Run an arbitrary command")
		    )
 )





Information forwarded to bug-auctex <at> gnu.org:
bug#69254; Package auctex. (Mon, 19 Feb 2024 09:43:02 GMT) Full text and rfc822 format available.

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

From: Ikumi Keita <ikumi <at> ikumi.que.jp>
To: Richard Stanton <rhstanton <at> berkeley.edu>
Cc: 69254 <at> debbugs.gnu.org
Subject: Re: bug#69254: 14.0.2;
 outline-hide-body doesn't work when called in LaTeX-mode-hook
Date: Mon, 19 Feb 2024 18:41:57 +0900
Hi Richard,

>>>>> Richard Stanton via bug-auctex via Bug reporting list for AUCTeX <bug-auctex <at> gnu.org> writes:
> Using Emacs 29.2 under MacOS 12.7.3, I want LaTeX files to open with
> section bodies hidden, and just headers showing. I can get this to work
> manually when I'm editing the file by running the command
> "outline-hide-body". But when I run the same command as part of
> LaTeX-mode-hook, the file opens with nothing hidden.

> Here's the relevant portion of my init.el file. The rest of it just
> deals with setting up straight.el:

> (use-package tex :straight auctex)

> (add-hook 'LaTeX-mode-hook (lambda()
>                              (outline-minor-mode 1)
>                              (outline-hide-body)
>                              ))

> Note that:

> 1) If I add other commands to this LaTeX-mode-hook, they get executed just
> fine. it seems to be only the outline-hide-body command that isn't doing
> what I expect.

> 2) Everything works as I hope if I don't load AUCTeX but use the
> built-in LaTeX mode instead (with the appropriately renamed hook).

> Is this a bug, or am i missing something?

Sorry for bothering you. I think this is an outcome of the fix of
bug#65750[1] last September.

In the fix, settings for outline mode were deferred after the parsing
file local variables so that user's customize to section commands are
reflected to outline related functionalities. This however means that
`LaTeX-mode-hook' runs before outline mode settings are ready.

I haven't come up with a clean solutions yet. For a tentative
workaround, you can use
(add-hook 'LaTeX-mode-hook
	  (lambda ()
	    (add-hook 'find-file-hook
		      (lambda()
                        (outline-minor-mode 1)
                        (outline-hide-body))
		      nil t)))

instead of
(add-hook 'LaTeX-mode-hook (lambda()
                             (outline-minor-mode 1)
                             (outline-hide-body)
                             ))
.

[1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65750

Regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine
#Gaza #StopMassiveKilling #CeasefireNOW




Information forwarded to bug-auctex <at> gnu.org:
bug#69254; Package auctex. (Mon, 19 Feb 2024 16:53:01 GMT) Full text and rfc822 format available.

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

From: Richard Stanton <rhstanton <at> berkeley.edu>
To: Ikumi Keita <ikumi <at> ikumi.que.jp>
Cc: 69254 <at> debbugs.gnu.org
Subject: Re: bug#69254: 14.0.2; outline-hide-body doesn't work when called in
 LaTeX-mode-hook
Date: Mon, 19 Feb 2024 08:51:01 -0800
[Message part 1 (text/plain, inline)]
That works. Thanks! 

The explanation makes perfect sense. But it also means that putting

%%% eval: (outline-hide-body)

in the file’s local variables doesn’t work. Is there a similar work-around here, so I can make the settings file-specific if I want?

Thanks!




> On Feb 19, 2024, at 1:41 AM, Ikumi Keita <ikumi <at> ikumi.que.jp> wrote:
> 
> Hi Richard,
> 
>>>>>> Richard Stanton via bug-auctex via Bug reporting list for AUCTeX <bug-auctex <at> gnu.org <mailto:bug-auctex <at> gnu.org>> writes:
>> Using Emacs 29.2 under MacOS 12.7.3, I want LaTeX files to open with
>> section bodies hidden, and just headers showing. I can get this to work
>> manually when I'm editing the file by running the command
>> "outline-hide-body". But when I run the same command as part of
>> LaTeX-mode-hook, the file opens with nothing hidden.
> 
>> Here's the relevant portion of my init.el file. The rest of it just
>> deals with setting up straight.el:
> 
>> (use-package tex :straight auctex)
> 
>> (add-hook 'LaTeX-mode-hook (lambda()
>>                             (outline-minor-mode 1)
>>                             (outline-hide-body)
>>                             ))
> 
>> Note that:
> 
>> 1) If I add other commands to this LaTeX-mode-hook, they get executed just
>> fine. it seems to be only the outline-hide-body command that isn't doing
>> what I expect.
> 
>> 2) Everything works as I hope if I don't load AUCTeX but use the
>> built-in LaTeX mode instead (with the appropriately renamed hook).
> 
>> Is this a bug, or am i missing something?
> 
> Sorry for bothering you. I think this is an outcome of the fix of
> bug#65750[1] last September.
> 
> In the fix, settings for outline mode were deferred after the parsing
> file local variables so that user's customize to section commands are
> reflected to outline related functionalities. This however means that
> `LaTeX-mode-hook' runs before outline mode settings are ready.
> 
> I haven't come up with a clean solutions yet. For a tentative
> workaround, you can use
> (add-hook 'LaTeX-mode-hook
> 	  (lambda ()
> 	    (add-hook 'find-file-hook
> 		      (lambda()
>                        (outline-minor-mode 1)
>                        (outline-hide-body))
> 		      nil t)))
> 
> instead of
> (add-hook 'LaTeX-mode-hook (lambda()
>                             (outline-minor-mode 1)
>                             (outline-hide-body)
>                             ))
> .
> 
> [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65750 <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65750>
> 
> Regards,
> Ikumi Keita
> #StandWithUkraine #StopWarInUkraine
> #Gaza #StopMassiveKilling #CeasefireNOW

[Message part 2 (text/html, inline)]

Information forwarded to bug-auctex <at> gnu.org:
bug#69254; Package auctex. (Wed, 21 Feb 2024 08:56:02 GMT) Full text and rfc822 format available.

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

From: Ikumi Keita <ikumi <at> ikumi.que.jp>
To: Richard Stanton <rhstanton <at> berkeley.edu>
Cc: 69254 <at> debbugs.gnu.org
Subject: Re: bug#69254: 14.0.2;
 outline-hide-body doesn't work when called in LaTeX-mode-hook
Date: Wed, 21 Feb 2024 17:55:22 +0900
Hi Richard,

>>>>> Richard Stanton <rhstanton <at> berkeley.edu> writes:
> That works. Thanks! 
> The explanation makes perfect sense. But it also means that putting

> %%% eval: (outline-hide-body)

> in the file’s local variables doesn’t work. Is there a similar
> work-around here, so I can make the settings file-specific if I want?

Hmm, that's a tough question. :-) I couldn't find a good answer for this
request, either. You can do it in only a awkward way, i.e.:

%%% eval: (add-hook 'find-file-hook (lambda () (outline-hide-body)) nil t)

In general, I suppose that emacs doesn't offer a neat framework to deal
with this type of competition between the order of setting variable and
running subsidiary functionality. Particularly, (La)TeX is (IMHO)
exceptional in that the users can define arbitrary sectioning commands.
which makes it difficult to prepare for outline mode.

Maybe I close this bug as "won'tfix" type :-(

Regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine
#Gaza #StopMassiveKilling #CeasefireNOW




Information forwarded to bug-auctex <at> gnu.org:
bug#69254; Package auctex. (Thu, 22 Feb 2024 09:11:02 GMT) Full text and rfc822 format available.

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

From: Arash Esbati <arash <at> gnu.org>
To: Ikumi Keita <ikumi <at> ikumi.que.jp>
Cc: Richard Stanton <rhstanton <at> berkeley.edu>, 69254 <at> debbugs.gnu.org
Subject: Re: bug#69254: 14.0.2; outline-hide-body doesn't work when called
 in LaTeX-mode-hook
Date: Thu, 22 Feb 2024 09:56:47 +0100
Hi Keita

Ikumi Keita <ikumi <at> ikumi.que.jp> writes:

> In general, I suppose that emacs doesn't offer a neat framework to deal
> with this type of competition between the order of setting variable and
> running subsidiary functionality. Particularly, (La)TeX is (IMHO)
> exceptional in that the users can define arbitrary sectioning commands.
> which makes it difficult to prepare for outline mode.
>
> Maybe I close this bug as "won'tfix" type :-(

Maybe we revert the change for bug #65750 and declare that one as "won't
fix".  If we have to find a compromise, I vote for supporting

  (add-hook 'LaTeX-mode-hook (lambda()
                               (outline-minor-mode 1)
                               (outline-hide-body)))

which is something that other modes support as well.

Best, Arash




Information forwarded to bug-auctex <at> gnu.org:
bug#69254; Package auctex. (Thu, 22 Feb 2024 10:43:01 GMT) Full text and rfc822 format available.

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

From: Ikumi Keita <ikumi <at> ikumi.que.jp>
To: Arash Esbati <arash <at> gnu.org>
Cc: Richard Stanton <rhstanton <at> berkeley.edu>, 69254 <at> debbugs.gnu.org
Subject: Re: bug#69254: 14.0.2;
 outline-hide-body doesn't work when called in LaTeX-mode-hook
Date: Thu, 22 Feb 2024 19:42:04 +0900
Hi Arash,

>>>>> Arash Esbati <arash <at> gnu.org> writes:
> Maybe we revert the change for bug #65750 and declare that one as "won't
> fix".

Yes, it's a possible option, I think.

> If we have to find a compromise, I vote for supporting

>   (add-hook 'LaTeX-mode-hook (lambda()
>                                (outline-minor-mode 1)
>                                (outline-hide-body)))

> which is something that other modes support as well.

I feel a bit reluctant about that idea since it doesn't recognize the
customized section commands defined in file local variables. In that
case, the user has to do by oneself either of the following
alternatives:
1. Defer the call to `outline-hide-body' after parsing file local vars.
2. Add parsing file local vars (at least for `LaTeX-section-list')
   explicitly before calling `outline-minor-mode'. 

But maybe we can ignore such corner case.

Regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine
#Gaza #StopMassiveKilling #CeasefireNOW




Information forwarded to bug-auctex <at> gnu.org:
bug#69254; Package auctex. (Thu, 22 Feb 2024 14:33:04 GMT) Full text and rfc822 format available.

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

From: Arash Esbati <arash <at> gnu.org>
To: Ikumi Keita <ikumi <at> ikumi.que.jp>
Cc: Richard Stanton <rhstanton <at> berkeley.edu>, 69254 <at> debbugs.gnu.org
Subject: Re: bug#69254: 14.0.2; outline-hide-body doesn't work when called
 in LaTeX-mode-hook
Date: Thu, 22 Feb 2024 14:35:49 +0100
Ikumi Keita <ikumi <at> ikumi.que.jp> writes:

> I feel a bit reluctant about that idea since it doesn't recognize the
> customized section commands defined in file local variables. In that
> case, the user has to do by oneself either of the following
> alternatives:
> 1. Defer the call to `outline-hide-body' after parsing file local vars.
> 2. Add parsing file local vars (at least for `LaTeX-section-list')
>    explicitly before calling `outline-minor-mode'. 
>
> But maybe we can ignore such corner case.

I think that "customized section commands defined in file local
variables" is more a corner case than enabling `outline-minor-mode' via
`LaTeX-mode-hook'; and we a have recipe for former if needed.  So it's
up to us to make a decision here: there will be unhappy customers, but
how many?  ;-)

Best, Arash




Information forwarded to bug-auctex <at> gnu.org:
bug#69254; Package auctex. (Fri, 23 Feb 2024 06:24:02 GMT) Full text and rfc822 format available.

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

From: Ikumi Keita <ikumi <at> ikumi.que.jp>
To: Arash Esbati <arash <at> gnu.org>
Cc: Richard Stanton <rhstanton <at> berkeley.edu>, 69254 <at> debbugs.gnu.org
Subject: Re: bug#69254: 14.0.2;
 outline-hide-body doesn't work when called in LaTeX-mode-hook
Date: Fri, 23 Feb 2024 15:23:13 +0900
[Message part 1 (text/plain, inline)]
Hi Arash,

>>>>> Arash Esbati <arash <at> gnu.org> writes:
> I think that "customized section commands defined in file local
> variables" is more a corner case than enabling `outline-minor-mode' via
> `LaTeX-mode-hook'; and we a have recipe for former if needed.  So it's
> up to us to make a decision here: there will be unhappy customers, but
> how many?  ;-)

I see, here is a tentative patch. Do you think that we should also
revert the similar changes for paragraph related variables?

Regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine
#Gaza #StopMassiveKilling #CeasefireNOW

[diff (text/x-diff, attachment)]

Information forwarded to bug-auctex <at> gnu.org:
bug#69254; Package auctex. (Fri, 23 Feb 2024 09:27:02 GMT) Full text and rfc822 format available.

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

From: Arash Esbati <arash <at> gnu.org>
To: Ikumi Keita <ikumi <at> ikumi.que.jp>
Cc: Richard Stanton <rhstanton <at> berkeley.edu>, 69254 <at> debbugs.gnu.org
Subject: Re: bug#69254: 14.0.2; outline-hide-body doesn't work when called
 in LaTeX-mode-hook
Date: Fri, 23 Feb 2024 09:29:44 +0100
Hi Keita,

Ikumi Keita <ikumi <at> ikumi.que.jp> writes:

> I see, here is a tentative patch.

Thanks.

> Do you think that we should also revert the similar changes for
> paragraph related variables?

I'm not sure if that part is really relevant for users.  I suggest we
keep that as is and touch it if we get feedback from the users.  Does it
make sense?

Best, Arash




Information forwarded to bug-auctex <at> gnu.org:
bug#69254; Package auctex. (Fri, 23 Feb 2024 09:49:01 GMT) Full text and rfc822 format available.

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

From: Ikumi Keita <ikumi <at> ikumi.que.jp>
To: Arash Esbati <arash <at> gnu.org>
Cc: Richard Stanton <rhstanton <at> berkeley.edu>, 69254 <at> debbugs.gnu.org
Subject: Re: bug#69254: 14.0.2;
 outline-hide-body doesn't work when called in LaTeX-mode-hook
Date: Fri, 23 Feb 2024 18:39:13 +0900
Hi Arash,

>>>>> Arash Esbati <arash <at> gnu.org> writes:
> Ikumi Keita <ikumi <at> ikumi.que.jp> writes:
>> Do you think that we should also revert the similar changes for
>> paragraph related variables?

> I'm not sure if that part is really relevant for users.  I suggest we
> keep that as is and touch it if we get feedback from the users.  Does it
> make sense?

OK, then I'll install the current patch.

Regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine
#Gaza #StopMassiveKilling #CeasefireNOW





bug closed, send any further explanations to 69254 <at> debbugs.gnu.org and Richard Stanton <rhstanton <at> berkeley.edu> Request was from Ikumi Keita <ikumi <at> ikumi.que.jp> to control <at> debbugs.gnu.org. (Sat, 24 Feb 2024 08:41:06 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 23 Mar 2024 11:24:12 GMT) Full text and rfc822 format available.

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

Previous Next


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