Package: emacs;
Reported by: Dave Abrahams <dave <at> boostpro.com>
Date: Tue, 7 Dec 2010 17:34:01 UTC
Severity: normal
Found in version 23.2
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Michael Albinus <michael.albinus <at> gmx.de> Cc: tracker <at> debbugs.gnu.org Subject: bug#7583: closed (23.2; ido loads tramp too eagerly) Date: Wed, 26 Oct 2011 18:30:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 26 Oct 2011 20:27:37 +0200 with message-id <87pqhjehgm.fsf <at> gmx.de> and subject line Re: bug#7583: 23.2; ido loads tramp too eagerly has caused the debbugs.gnu.org bug report #7583, regarding 23.2; ido loads tramp too eagerly to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs <at> gnu.org.) -- 7583: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7583 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Dave Abrahams <dave <at> boostpro.com> To: bug-gnu-emacs <at> gnu.org Subject: 23.2; ido loads tramp too eagerly Date: Tue, 07 Dec 2010 12:38:46 -0500This seems a bit overeager. It takes a while to load up tramp, and ido shouldn't need to consider tramp filename completions if tramp isn't already loaded. emacs -Q `M-x ido-mode RET' `C-x C-f' <wait while tramp loads> In GNU Emacs 23.2.1 (x86_64-apple-darwin, NS apple-appkit-1038.29) of 2010-05-08 on black.local Windowing system distributor `Apple', version 10.3.1038 configured using `configure '--host=x86_64-apple-darwin' '--build=i686-apple-darwin' '--with-ns' 'build_alias=i686-apple-darwin' 'host_alias=x86_64-apple-darwin' 'CC=gcc -mmacosx-version-min=10.5'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: nil value of $XMODIFIERS: nil locale-coding-system: nil default enable-multibyte-characters: t Major mode: Emacs-Lisp Minor modes in effect: shell-dirtrack-mode: t diff-auto-refine-mode: t show-paren-mode: t global-auto-revert-mode: t delete-selection-mode: t tooltip-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent input: C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-n C-x C-f C-SPC C-a C-SPC C-f C-SPC C-a M-w C-g M-! e m a c s 2 SPC - Q <return> C-! C-! M-! M-p <return> C-x M-x M-x e m <backspace> <backspace> r e p o <tab> r t - t r a <tab> C-, C-SPC C-, <backspace> C-e <tab> m <tab> <tab> s u <tab> <return> t r a m p C-! C-e SPC l o a d e d SPC b y SPC f i n d - f i l e SPC w i t h SPC i d o - m o d e SPC o n <return> M-! M-p <return> l a u n c h <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> e m a c s SPC - Q <return> M - x C-a ` C-e SPC i d o - m o d e SPC R E T ' C-! M-! M-p <return> <return> ` C - x SPC C - f ' C-n C-p C-p C-p C-p C-k C-n C-n C-n C-p C-p C-p C-p <return> <return> C-p T h i s SPC s e e m s SPC a SPC b i t SPC o v e r e a g e r . SPC SPC M-x f i n d - l i b <tab> <return> i d o <return> C-s t r a m p C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-n C-p C-p C-p C-x C-k C-n C-n C-p C-p C-a C-SPC C-n C-n C-n C-n C-n C-n M-w C-x C-k y e s <return> M-x r e p o r t - e m <tab> <return> Recent messages: Making completion list... [3 times] Wrote /Users/dave/DropBox/home/.emacs.d/byte-cache/!Users!dave!DropBox!home!.emacs.d!el-get!magit!Users!dave!DropBox!home!.emacs.d!el-get!semi!smime.elc Formatting bug report buffer............... Please enter your report. Type C-c C-c to send, C-c C-k to abort. (Shell command succeeded with no output) [2 times] uncompressing ido.el.gz...done ido.el.gz has auto save data; consider M-x recover-this-file Auto-saving... Mark saved where search started Mark set Load-path shadows: /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/static hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/static /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/richtext hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/richtext /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pym hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pym /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/product hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/product /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/poem hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/poem /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/poem-e20_3 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/poem-e20_3 /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/poem-e20 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/poem-e20 /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/poe hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/poe /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pcustom hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pcustom /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pces hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pces /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pces-e20 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pces-e20 /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pces-20 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pces-20 /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pccl hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pccl /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/pccl-20 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/pccl-20 /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/mule-caesar hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/mule-caesar /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/mcs-e20 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/mcs-e20 /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/mcs-20 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/mcs-20 /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/mcharset hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/mcharset /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/invisible hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/invisible /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/inv-23 hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/inv-23 /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/emu hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/emu /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/broken hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/broken /Users/dave/DropBox/home/.emacs.d/el-get/apel/site-lisp/emu/apel-ver hides /Applications/Emacs.app/Contents/Resources/site-lisp/emu/apel-ver /Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/sha1 hides /Applications/Emacs.app/Contents/Resources/lisp/sha1 /Users/dave/DropBox/home/.emacs.d/el-get/semi/pgg hides /Applications/Emacs.app/Contents/Resources/lisp/pgg /Users/dave/DropBox/home/.emacs.d/el-get/semi/pgg-pgp5 hides /Applications/Emacs.app/Contents/Resources/lisp/pgg-pgp5 /Users/dave/DropBox/home/.emacs.d/el-get/semi/pgg-pgp hides /Applications/Emacs.app/Contents/Resources/lisp/pgg-pgp /Users/dave/DropBox/home/.emacs.d/el-get/semi/pgg-parse hides /Applications/Emacs.app/Contents/Resources/lisp/pgg-parse /Users/dave/DropBox/home/.emacs.d/el-get/semi/pgg-gpg hides /Applications/Emacs.app/Contents/Resources/lisp/pgg-gpg /Users/dave/DropBox/home/.emacs.d/el-get/semi/pgg-def hides /Applications/Emacs.app/Contents/Resources/lisp/pgg-def /Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/md4 hides /Applications/Emacs.app/Contents/Resources/lisp/md4 /Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/hex-util hides /Applications/Emacs.app/Contents/Resources/lisp/hex-util /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org hides /Applications/Emacs.app/Contents/Resources/lisp/org/org /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-xoxo hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-xoxo /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-wl hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-wl /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-w3m hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-w3m /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-vm hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-vm /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-timer hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-timer /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-table hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-table /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-src hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-src /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-rmail hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-rmail /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-remember hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-remember /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-publish hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-publish /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-protocol hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-protocol /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-plot hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-plot /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-mouse hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mouse /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-mobile hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mobile /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-mhe hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mhe /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-mew hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mew /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-macs hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-macs /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-mac-message hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mac-message /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-list hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-list /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-latex hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-latex /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-jsinfo hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-jsinfo /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-irc hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-irc /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-install hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-install /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-inlinetask hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-inlinetask /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-info hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-info /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-indent hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-indent /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-id hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-id /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-icalendar hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-icalendar /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-html hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-html /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-habit hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-habit /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-gnus hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-gnus /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-freemind hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-freemind /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-footnote hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-footnote /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-feed hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-feed /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-faces hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-faces /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-exp hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-exp /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-exp-blocks hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-exp-blocks /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-docbook hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-docbook /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-datetree hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-datetree /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-crypt hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-crypt /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-compat hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-compat /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-colview hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-colview /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-clock hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-clock /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-bibtex hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-bibtex /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-bbdb hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-bbdb /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-attach hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-attach /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-ascii hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-ascii /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-archive hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-archive /Users/dave/DropBox/home/.emacs.d/el-get/org-mode/lisp/org-agenda hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-agenda /Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/sasl hides /Applications/Emacs.app/Contents/Resources/lisp/net/sasl /Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/sasl-ntlm hides /Applications/Emacs.app/Contents/Resources/lisp/net/sasl-ntlm /Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/sasl-digest hides /Applications/Emacs.app/Contents/Resources/lisp/net/sasl-digest /Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/sasl-cram hides /Applications/Emacs.app/Contents/Resources/lisp/net/sasl-cram /Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/ntlm hides /Applications/Emacs.app/Contents/Resources/lisp/net/ntlm /Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/hmac-md5 hides /Applications/Emacs.app/Contents/Resources/lisp/net/hmac-md5 /Users/dave/DropBox/home/.emacs.d/el-get/flim/site-lisp/flim/hmac-def hides /Applications/Emacs.app/Contents/Resources/lisp/net/hmac-def /Users/dave/DropBox/home/.emacs.d/el-get/wanderlust/site-lisp/wl/rfc2368 hides /Applications/Emacs.app/Contents/Resources/lisp/mail/rfc2368 /Users/dave/DropBox/home/.emacs.d/el-get/wanderlust/site-lisp/wl/utf7 hides /Applications/Emacs.app/Contents/Resources/lisp/gnus/utf7 /Users/dave/DropBox/home/.emacs.d/el-get/semi/smime hides /Applications/Emacs.app/Contents/Resources/lisp/gnus/smime /Users/dave/DropBox/home/.emacs.d/el-get/mailcrypt/timer hides /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/timer Features: (shadow sort mail-extr emacsbug jka-compr thingatpt find-func sendmail gnus-cite gnus-msg gnus-art mm-uu mml2015 epg-config mm-view mel mime-def alist mcharset mcs-20 mcs-e20 pces pces-e20 pces-20 broken pcustom path-util poe pym static apel-ver product gnus-sum nnoo gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range gnus-win message ecomplete rfc822 mml mml-sec mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev gmm-utils mailheader canlock sha1 sha1-el hex-util hashcash reporter tramp-imap tramp-gw tramp-fish tramp-smb tramp-cache tramp-ftp tramp-cmds tramp auth-source shell password-cache format-spec tramp-compat trampver ffap ido multi-isearch two-column iso-transl magit diff-mode log-edit pcvs-util add-log magit-key-mode assoc image-mode disp-table bookmark pp org-mac-message org-habit org-agenda org-id org-crypt org ob-emacs-lisp ob-tangle ob-ref ob-lob ob-table org-footnote org-src ob-comint ob-keys ob ob-eval org-complete pcomplete org-list org-faces org-compat org-entities org-macs noutline outline easy-mmode cal-menu calendar cal-loaddefs vc-git sgml-mode help-mode view .loaddefs elhome byte-code-cache dwa/packages auto-complete edmacro kmacro popup byte-opt flex-mode derived bbdb-autoloads bbdb timezone org-install info package compile comint ring el-get autoload bytecomp byte-compile cl cl-19 dired regexp-opt advice help-fns advice-preload gnus gnus-ems nnheader gnus-util netrc time-date mail-utils mm-util mail-prsvr wid-edit initsplit warnings paren server autorevert delsel cus-start cus-load tooltip ediff-hook vc-hooks lisp-float-type mwheel ns-win easymenu tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button minibuffer faces cus-face files text-properties overlay md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process ns multi-tty emacs)
[Message part 3 (message/rfc822, inline)]
From: Michael Albinus <michael.albinus <at> gmx.de> To: Dave Abrahams <dave <at> boostpro.com> Cc: 7583-done <at> debbugs.gnu.org Subject: Re: bug#7583: 23.2; ido loads tramp too eagerly Date: Wed, 26 Oct 2011 20:27:37 +0200Dave Abrahams <dave <at> boostpro.com> writes: >> I've just committed a patch for ido.el, which removes explicit loading >> of Tramp. Autoloads shall be sufficient. >> >> This is all what could be done inside ido, IMHO. I've seen your other >> report on the Tramp ML, and I'm working on this. Therefore, I believe we >> can close *this* bug report. >> >> Do you agree? > > Sure; if there are problems I'll bring them up anew :-) Thanks, I've closed the bug. Best regards, Michael.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.