GNU bug report logs - #29249
11.91; Formulae are no longer shown with preview LaTeX

Previous Next

Package: auctex;

Reported by: "Dr. Michael L. Dowling" <Mike.Dowling <at> t-online.de>

Date: Fri, 10 Nov 2017 16:29:05 UTC

Severity: normal

Merged with 28811

Found in versions 11.90.2.2017, 11.91

Done: Arash Esbati <arash <at> gnu.org>

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 29249 in the body.
You can then email your comments to 29249 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#29249; Package auctex. (Fri, 10 Nov 2017 16:29:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Dr. Michael L. Dowling" <Mike.Dowling <at> t-online.de>:
New bug report received and forwarded. Copy sent to bug-auctex <at> gnu.org. (Fri, 10 Nov 2017 16:29:05 GMT) Full text and rfc822 format available.

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

From: "Dr. Michael L. Dowling" <Mike.Dowling <at> t-online.de>
To: bug-auctex <at> gnu.org
Subject: 11.91; Formulae are no longer shown with preview LaTeX
Date: Fri, 10 Nov 2017 16:51:06 +0100
[Message part 1 (text/plain, inline)]
To: bug-auctex <at> gnu.org
Subject: 11.91; Formulae are no longer shown with preview LaTeX
From: mike <at> moocow.i-did-not-set--mail-host-address--so-tickle-me (Dr. Michael Dowling)
--text follows this line--


Remember to cover the basics.  Including a minimal LaTeX example
file exhibiting the problem might help.

I use auctex from the Archlinux pacman distribution.  Recently, preview
latex ceased to function.

My .emacs init file consists solely of these two lines:

(load "auctex.el" nil t t)
(load "preview-latex.el" nil t t)

(My usual .emacs is about 880 lines long.)

On running any of preview-latex's preview commands, e.g. C-c C-p C-b,
all the maths is prefixed with a red circle with a hoyizontal white line
through the middle.

mouse-2 on such an icon results in the following:

/usr/bin/rungs -dOutputFile\=\(_region_.prv/tmp6988RGc/pr1-10.png\) -q -dDELAYSAFER -dNOPAUSE -DNOPLATFONTS -dPrinted -dTextAlphaBits\=4 -dGraphicsAlphaBits\=4 -sDEVICE\=png16m -r82.9863x84.6667
GS>{<</PermitFileReading[(_region_.pdf)(_region_.prv/tmp6988RGc/preview.dsc)]>> setuserparams .locksafe} stopped pop {DELAYSAFER{.setsafe}if}stopped pop/.preview-BP currentpagedevice/BeginPage get dup null eq{pop{pop}bind}if def<</BeginPage{currentpagedevice/PageSize get dup 0 get 1 ne exch 1 get 1 ne or{.preview-BP }{pop}ifelse}bind/PageSize[1 1]>>setpagedevice/preview-do{[count 3 roll save]3 1 roll dup length 0 eq{pop}{setpagedevice}{ifelse .runandhide}stopped{handleerror quit}if aload pop restore}bind def [(_region_.prv/tmp6988RGc/preview.dsc)(r)file]aload exch dup 0 setfileposition 906()/SubFileDecode filter cvx .runandhide aload pop dup dup 958 setfileposition 52()/SubFileDecode filter cvx<<>>preview-do
Error: /typecheck in --setfileposition--
Operand stack:
   --nostringval--   --nostringval--   --nostringval--   --nostringval--   1370   1370   1370   1317   1317   1317   1266   1266   1266   1215   1215   1215   1163   1163   1163   1111   1111   1111   1060   1060   1060   1010   1010   1010   958
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   %loop_continue   --nostringval--   --nostringval--   false   1   %stopped_push   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--
Dictionary stack:
   --dict:991/1684(ro)(G)--   --dict:0/20(G)--   --dict:80/200(L)--
Current allocation mode is local
Current file position is 28
GS<29>

The preview.dsc file does exist, its a postscript file containing the
formatted first equation.  No other files are written to that
_region_.prv directory.

The input file is by no means unique; I get the same behaviour with
every LaTeX file I've tested.

Emacs  : GNU Emacs 25.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.19)
 of 2017-09-16
Package: 11.91

Run buffer contents:

Running `Preview-LaTeX' on `test' with ``pdflatex -ini -interaction=nonstopmode "&pdflatex" prv_test.ini    "\nonstopmode\nofiles\PassOptionsToPackage{active,tightpage,auctex}{preview}\AtBeginDocument{\ifx\ifPreview\undefined\RequirePackage[displaymath,floats,graphics,textmath,sections,footnotes]{preview}[2004/11/05]\fi}" "\input" test.tex''
This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Arch Linux) (INITEX)
 restricted \write18 enabled.
entering extended mode
(./prv_test.ini
LaTeX2e <2017-04-15>
Babel <3.12> and hyphenation patterns for 84 language(s) loaded.
(/usr/share/texmf-dist/tex/latex/carlisle/mylatex.ltx)
(/usr/share/texmf-dist/tex/latex/tools/.tex File ignored))
No auxiliary output files.

(./test.tex (/usr/share/texmf-dist/tex/latex/amscls/amsart.cls
Document Class: amsart 2015/03/04 v2.20.2
(/usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the `?' option.
(/usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty))
(/usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd)
(/usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty))
(/usr/share/texmf-dist/tex/generic/babel/babel.sty
(/usr/share/texmf-dist/tex/generic/babel/switch.def)
(/usr/share/texmf-dist/tex/generic/babel-german/german.ldf
(/usr/share/texmf-dist/tex/generic/babel-german/germanb.ldf
(/usr/share/texmf-dist/tex/generic/babel/babel.def
(/usr/share/texmf-dist/tex/generic/babel/switch.def))))
(/usr/share/texmf-dist/tex/generic/babel-english/english.ldf))
(/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/share/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/share/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/share/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def)))
(/usr/share/texmf-dist/tex/latex/amsmath/amscd.sty)
(/usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd)
(/usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd) )
Beginning to dump on file prv_test.fmt
 (preloaded format=prv_test 2017.11.10)
9350 strings of total length 139242
92501 memory locations dumped; current usage is 221&88670
5725 multiletter control sequences
\font\nullfont=nullfont
\font\OMX/cmex/m/n/10=cmex10
\font\tenln=line10
\font\tenlnw=linew10
\font\tencirc=lcircle10
\font\tencircw=lcirclew10
...

[...]

	...38603+0x2448035).
<-><->
      
l.27 ...trachte \(\ln(f(u))\).  Als \(u\to\infty\)
                                                  , \(\ln\) ist monoton und ...

[7]
! Preview: Snippet 8 started.
<-><->
      
l.27 ...hte \(\ln(f(u))\).  Als \(u\to\infty\), \(
                                                  \ln\) ist monoton und stetig!

! Preview: Snippet 8 ended.(546132+0x641700).
<-><->
      
l.27 ...(\ln(f(u))\).  Als \(u\to\infty\), \(\ln\)
                                                   ist monoton und stetig!
[8]
! Preview: Snippet 9 started.
<-><->
      
l.29 \begin{displaymath}
                        
! Preview: Snippet 9 ended.(2063087+0x23592960).
<-><->
      
l.32 \end{displaymath}
                      
[9]
! Preview: Snippet 10 started.
<-><->
      
l.34 \begin{displaymath}
                        
! Preview: Snippet 10 ended.(1936574+0x23592960).
<-><->
      
l.36 \end{displaymath}
                      
[10]
! Preview: Snippet 11 started.
<-><->
      
l.37 Also \(
            \lim_{u\to\infty}\ln(f(u))=6,\quad\lim_{x\to\infty}\ln(f(x))=36,...

! Preview: Snippet 11 ended.(623265+196608x23183401).
<-><->
      
l.37 ...))=36,\qquad\lim_{x\to\infty}f(x)=e^{36}\)
                                                  .
[11]
\newlabel{tocindent-1}{0pt}
\newlabel{tocindent0}{0pt}
\newlabel{tocindent1}{0pt}
\newlabel{tocindent2}{0pt}
\newlabel{tocindent3}{0pt}
 )
(see the transcript file for additional information)</usr/share/texmf-dist/font
s/type1/public/amsfonts/cm/cmex10.pfb></usr/share/texmf-dist/fonts/type1/public
/amsfonts/cm/cmmi12.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/c
mmi8.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/
share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></usr/share/texmf-dist
/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texmf-dist/fonts/type1/p
ublic/amsfonts/cm/cmsy8.pfb>
Output written on _region_.pdf (11 pages, 61554 bytes).
Transcript written on _region_.log.

TeX Output exited as expected with code 1 at Fri Nov 10 14:11:31
Running `Preview-PDF2DSC' with ``pdf2dsc _region_.pdf _region_.prv/tmp6143DWa/preview.dsc''

Preview-PDF2DSC finished at Fri Nov 10 14:11:31
Running `Preview-Ghostscript' with ``/usr/bin/rungs -dOutputFile\=\(_region_.prv/tmp6143DWa/pr1-\%d.png\) -q -dDELAYSAFER -dNOPAUSE -DNOPLATFONTS -dPrinted -dTextAlphaBits\=4 -dGraphicsAlphaBits\=4 -sDEVICE\=png16m -r82.9863x84.6667''

Preview-Ghostscript finished at Fri Nov 10 14:11:31

current state:
==============
(setq
 AUCTeX-version "11.91"
 LaTeX-command-style '(("" "%(PDF)%(latex) %(file-line-error) %(extraopts) %S%(PDFout)"))
 image-types '(svg imagemagick png gif tiff jpeg xpm xbm pbm postscript)
 preview-image-type 'png
 preview-image-creators '((dvipng (open preview-gs-open preview-dvipng-process-setup)
			   (place preview-gs-place) (close preview-dvipng-close))
			  (png (open preview-gs-open) (place preview-gs-place) (close preview-gs-close))
			  (jpeg (open preview-gs-open) (place preview-gs-place) (close preview-gs-close))
			  (pnm (open preview-gs-open) (place preview-gs-place) (close preview-gs-close))
			  (tiff (open preview-gs-open) (place preview-gs-place) (close preview-gs-close)))
 preview-dvipng-image-type 'png
 preview-dvipng-command "dvipng -picky -noghostscript %d -o \"%m/prev%%03d.png\""
 preview-pdf2dsc-command "pdf2dsc %s.pdf %m/preview.dsc"
 preview-gs-command "/usr/bin/rungs"
 preview-gs-options '("-q" "-dDELAYSAFER" "-dNOPAUSE" "-DNOPLATFONTS" "-dPrinted" "-dTextAlphaBits=4"
		      "-dGraphicsAlphaBits=4")
 preview-gs-image-type-alist '((png png "-sDEVICE=png16m") (dvipng png "-sDEVICE=png16m")
			       (jpeg jpeg "-sDEVICE=jpeg") (pnm pbm "-sDEVICE=pnmraw")
			       (tiff tiff "-sDEVICE=tiff12nc"))
 preview-fast-conversion t
 preview-prefer-TeX-bb nil
 preview-dvips-command "dvips -Pwww -i -E %d -o %m/preview.000"
 preview-fast-dvips-command "dvips -Pwww %d -o %m/preview.ps"
 preview-scale-function 'preview-scale-from-face
 preview-LaTeX-command '("%`%l \"\\nonstopmode\\nofiles\\PassOptionsToPackage{"
			 ("," . preview-required-option-list)
			 "}{preview}\\AtBeginDocument{\\ifx\\ifPreview\\undefined"
			 preview-default-preamble "\\fi}\"%' %t")
 preview-required-option-list '("active" "tightpage" "auctex" (preview-preserve-counters "counters"))
 preview-preserve-counters nil
 preview-default-option-list '("displaymath" "floats" "graphics" "textmath" "sections" "footnotes")
 preview-default-preamble '("\\RequirePackage[" ("," . preview-default-option-list)
			    "]{preview}[2004/11/05]")
 preview-LaTeX-command-replacements nil
 preview-dump-replacements '(preview-LaTeX-command-replacements
			     ("\\`\\([^ ]+\\)\\(\\( +-\\([^ \\\\\"]\\|\\\\\\.\\|\"[^\"]*\"\\)*\\)*\\)\\(.*\\)\\'" "\\1 -ini -interaction=nonstopmode \"&\\1\" " preview-format-name ".ini \\5")
			     )
 preview-undump-replacements '(("\\`\\([^ ]+\\) .*? \"\\\\input\" \\(.*\\)\\'"
				"\\1 -interaction=nonstopmode \"&" preview-format-name "\" \\2")
			       )
 preview-auto-cache-preamble 'ask
 preview-TeX-style-dir nil
 )

Output from running `/usr/bin/rungs -h':
GPL Ghostscript 9.22 (2017-10-04)
Copyright (C) 2017 Artifex Software, Inc.  All rights reserved.
Usage: gs [switches] [file1.ps file2.ps ...]
Most frequently used switches: (you can use # in place of =)
 -dNOPAUSE           no pause after page   | -q       `quiet', fewer messages
 -g<width>x<height>  page size in pixels   | -r<res>  pixels/inch resolution
 -sDEVICE=<devname>  select device         | -dBATCH  exit after last file
 -sOutputFile=<file> select output file: - for stdout, |command for pipe,
                                         embed %d or %ld for page #
Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PostScriptLevel3 PDF
Default output device: x11alpha
Available devices:
   alc1900 alc2000 alc4000 alc4100 alc8500 alc8600 alc9100 ap3250 atx23
   atx24 atx38 bbox bit bitcmyk bitrgb bitrgbtags bj10e bj10v bj10vh bj200
   bjc600 bjc800 bjc880j bjccmyk bjccolor bjcgray bjcmono bmp16 bmp16m
   bmp256 bmp32b bmpgray bmpmono bmpsep1 bmpsep8 ccr cdeskjet cdj1600 cdj500
   cdj550 cdj670 cdj850 cdj880 cdj890 cdj970 cdjcolor cdjmono cdnj500 cfax
   chp2200 cif cljet5 cljet5c cljet5pr coslw2p coslwxl cp50 cups declj250
   deskjet devicen dfaxhigh dfaxlow display dj505j djet500 djet500c dl2100
   dnj650c epl2050 epl2050p epl2120 epl2500 epl2750 epl5800 epl5900 epl6100
   epl6200 eplcolor eplmono eps2write eps9high eps9mid epson epsonc escp
   escpage faxg3 faxg32d faxg4 fmlbp fmpr fpng fs600 gdi gprf hl1240 hl1250
   hl7x0 hpdj1120c hpdj310 hpdj320 hpdj340 hpdj400 hpdj500 hpdj500c hpdj510
   hpdj520 hpdj540 hpdj550c hpdj560c hpdj600 hpdj660c hpdj670c hpdj680c
   hpdj690c hpdj850c hpdj855c hpdj870c hpdj890c hpdjplus hpdjportable ibmpro
   ijs imagen inferno ink_cov inkcov itk24i itk38 jetp3852 jj100 jpeg
   jpegcmyk jpeggray la50 la70 la75 la75plus laserjet lbp310 lbp320 lbp8
   lex2050 lex3200 lex5700 lex7000 lips2p lips3 lips4 lips4v lj250 lj3100sw
   lj4dith lj4dithp lj5gray lj5mono ljet2p ljet3 ljet3d ljet4 ljet4d
   ljet4pjl ljetplus ln03 lp1800 lp1900 lp2000 lp2200 lp2400 lp2500 lp2563
   lp3000c lp7500 lp7700 lp7900 lp8000 lp8000c lp8100 lp8200c lp8300c
   lp8300f lp8400f lp8500c lp8600 lp8600f lp8700 lp8800c lp8900 lp9000b
   lp9000c lp9100 lp9200b lp9200c lp9300 lp9400 lp9500c lp9600 lp9600s
   lp9800c lps4500 lps6500 lq850 lxm3200 lxm5700m m8510 md1xMono md2k
   md50Eco md50Mono md5k mgr4 mgr8 mgrgray2 mgrgray4 mgrgray8 mgrmono miff24
   mj500c mj6000c mj700v2c mj8000c ml600 necp6 npdl nullpage oce9050 oki182
   oki4w okiibm oprp opvp paintjet pam pamcmyk32 pamcmyk4 pbm pbmraw pcl3
   pcx16 pcx24b pcx256 pcxcmyk pcxgray pcxmono pdfwrite pdfwrite pdfwrite
   pgm pgmraw pgnm pgnmraw photoex picty180 pj pjetxl pjxl pjxl300 pkm
   pkmraw pksm pksmraw plan plan9bm planc plang plank planm plib plibc plibg
   plibk plibm png16 png16m png256 png48 pngalpha pnggray pngmono pngmonod
   pnm pnmraw ppm ppmraw pr1000 pr1000_4 pr150 pr201 ps2write psdcmyk
   psdcmykog psdrgb pwgraster pxlcolor pxlmono r4081 rinkj rpdl samsunggdi
   sj48 spotcmyk st800 stcolor t4693d2 t4693d4 t4693d8 tek4696 tiff12nc
   tiff24nc tiff32nc tiff48nc tiff64nc tiffcrle tiffg3 tiffg32d tiffg4
   tiffgray tifflzw tiffpack tiffscaled tiffscaled24 tiffscaled32
   tiffscaled4 tiffscaled8 tiffsep tiffsep1 txtwrite uniprint x11 x11alpha
   x11cmyk x11cmyk2 x11cmyk4 x11cmyk8 x11gray2 x11gray4 x11mono xcf xes
   xpswrite
Search path:
   /usr/share/ghostscript/9.22/Resource/Init :
   /usr/share/ghostscript/9.22/lib :
   /usr/share/ghostscript/9.22/Resource/Font :
   /usr/share/ghostscript/fonts : /usr/share/fonts/Type1 : /usr/share/fonts
Ghostscript is also using fontconfig to search for font files
For more information, see /usr/share/ghostscript/9.22/doc/Use.htm.
Please report bugs to bugs.ghostscript.com.

-- 
Dr. Michael L. Dowling
Gaußstr. 27
38106 Braunschweig
Germany

-- 
Dr. Michael L. Dowling
Gaußstr. 27
38106 Braunschweig
Germany
[test.tex (application/x-tex, attachment)]

Information forwarded to bug-auctex <at> gnu.org:
bug#29249; Package auctex. (Fri, 10 Nov 2017 16:57:02 GMT) Full text and rfc822 format available.

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

From: David Kastrup <dak <at> gnu.org>
To: "Dr. Michael L. Dowling" <Mike.Dowling <at> t-online.de>
Cc: 29249 <at> debbugs.gnu.org
Subject: Re: bug#29249: 11.91; Formulae are no longer shown with preview LaTeX
Date: Fri, 10 Nov 2017 17:56:04 +0100
"Dr. Michael L. Dowling" <Mike.Dowling <at> t-online.de> writes:

> Output from running `/usr/bin/rungs -h':
> GPL Ghostscript 9.22 (2017-10-04)
> Copyright (C) 2017 Artifex Software, Inc.  All rights reserved.

Gnuscript developers have decided to remove the .runandhide operator
(the only available and documented mechanism for entering SAFER mode
temporarily and safely) in Ghostscript 9.22.  I have committed a fix to
AUCTeX master that removes all uses of .runandhide from preview-latex
(preview-latex already had been changed previously to not require
returning from SAFER mode, so this change is not security-relevant).

I haven't heard back from any of the current AUCTeX
developers/maintainers so I have no idea when this fix will actually
make it into a release.

You might want to either apply this recent commit in the AUCTeX
repository to your AUCTeX distribution (it's

commit 837d590008c1dd4e92ffbce15008efb761d11f7c
Author: David Kastrup <dak <at> gnu.org>
Date:   Mon Nov 6 23:58:23 2017 +0100

    Remove use of .runandhide operator
    
    Ghostscript bug 698680
    <https://bugs.ghostscript.com/show_bug.cgi?id=698680> has been caused
    by the removal of the .runandhide operator in Ghostscript 9.22
    upstream.  Since .runandhide has no longer been used in a
    security-critical manner, its operation can be emulated by storing the
    respective information in a .preview-ST variable.  Potentially
    malicious code would not be able to retrieve a non-safe "save" object
    from here.

) or downgrade your Ghostscript to 9.21.

You sent a humongous mail of 12MB size to the AUCTeX bug list: I'll
reject that mail since it adds nothing new.

-- 
David Kastrup




Merged 28811 29249. Request was from mose <at> gnu.org (Mosè Giordano) to control <at> debbugs.gnu.org. (Fri, 10 Nov 2017 17:14:01 GMT) Full text and rfc822 format available.

Reply sent to Arash Esbati <arash <at> gnu.org>:
You have taken responsibility. (Sat, 18 Nov 2017 23:17:02 GMT) Full text and rfc822 format available.

Notification sent to "Dr. Michael L. Dowling" <Mike.Dowling <at> t-online.de>:
bug acknowledged by developer. (Sat, 18 Nov 2017 23:17:02 GMT) Full text and rfc822 format available.

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

From: Arash Esbati <arash <at> gnu.org>
To: David Kastrup <dak <at> gnu.org>
Cc: "Dr. Michael L. Dowling" <Mike.Dowling <at> t-online.de>,
 29249-done <at> debbugs.gnu.org
Subject: Re: bug#29249: 11.91; Formulae are no longer shown with preview LaTeX
Date: Sun, 19 Nov 2017 00:15:53 +0100
David Kastrup <dak <at> gnu.org> writes:

> I haven't heard back from any of the current AUCTeX
> developers/maintainers so I have no idea when this fix will actually
> make it into a release.

The way I understood Mosè it will be in the next release.  I'm closing
this ticket since the issue itself was resolved in #28811.

Best, Arash




Reply sent to Arash Esbati <arash <at> gnu.org>:
You have taken responsibility. (Sat, 18 Nov 2017 23:17:02 GMT) Full text and rfc822 format available.

Notification sent to Thomas Stenhaug <thomas.stenhaug <at> gmail.com>:
bug acknowledged by developer. (Sat, 18 Nov 2017 23:17:02 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. (Sun, 17 Dec 2017 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 184 days ago.

Previous Next


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