Package: emacs;
Reported by: chenphy10 <at> gmail.com
Date: Thu, 3 Mar 2022 17:10:02 UTC
Severity: normal
Tags: moreinfo
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.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 54240 in the body.
You can then email your comments to 54240 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
bug-gnu-emacs <at> gnu.org
:bug#54240
; Package emacs
.
(Thu, 03 Mar 2022 17:10:02 GMT) Full text and rfc822 format available.chenphy10 <at> gmail.com
:bug-gnu-emacs <at> gnu.org
.
(Thu, 03 Mar 2022 17:10:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: chenphy10 <at> gmail.com To: bug-gnu-emacs <at> gnu.org Subject: emacs/lisp/emacs-lisp/derived.el patch Date: Thu, 03 Mar 2022 11:45:21 -0500
[Message part 1 (text/plain, inline)]
Dear developers/maintainers, When running "jdee-mode" from Melpa, without the patch, it will create erorrs on the "mode" undefined. I found it is caused by this quoted function. Please let me know if it is a suitable patch. Best, Tongjie
[derived.el.patch (text/x-patch, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#54240
; Package emacs
.
(Thu, 03 Mar 2022 17:16:01 GMT) Full text and rfc822 format available.Message #8 received at 54240 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: chenphy10 <at> gmail.com Cc: 54240 <at> debbugs.gnu.org Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch Date: Thu, 03 Mar 2022 18:14:58 +0100
chenphy10 <at> gmail.com writes: > When running "jdee-mode" from Melpa, without the patch, it will create > erorrs on the "mode" undefined. I found it is caused by this quoted > function. > > Please let me know if it is a suitable patch. [...] > - (define-abbrev-table (derived-mode-abbrev-table-name mode) nil) > + ,(define-abbrev-table (derived-mode-abbrev-table-name mode) nil) The code looks correct the way it is, I think? What Emacs version are you seeing this problem in? Please use `M-x report-emacs-bug' and include all the information you get in that buffer. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
Lars Ingebrigtsen <larsi <at> gnus.org>
to control <at> debbugs.gnu.org
.
(Thu, 03 Mar 2022 17:16:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#54240
; Package emacs
.
(Thu, 03 Mar 2022 23:04:02 GMT) Full text and rfc822 format available.Message #13 received at 54240 <at> debbugs.gnu.org (full text, mbox):
From: Tongjie Chen <chenphy10 <at> gmail.com> To: Lars Ingebrigtsen <larsi <at> gnus.org> Cc: 54240 <at> debbugs.gnu.org Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch Date: Thu, 3 Mar 2022 18:02:43 -0500
[Message part 1 (text/plain, inline)]
Maybe it's a problem with Emacs 28.0.50. I built it from emacs-ng-git on Manjaro. I no longer use Emacs 27. In GNU Emacs 28.0.50 (build 8, x86_64-pc-linux-gnu, GTK+ Version 3.24.29, cairo version 1.17.4) of 2021-07-08 built on tongjie-inspiron73062n1 Repository revision: 6b8939983862e9fc54bd816304b66769766e1b20 Repository branch: makepkg Windowing system distributor 'The X.Org Foundation', version 11.0.12101003 System Description: Manjaro Linux Configured using: 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-wide-int --with-modules --with-cairo --with-harfbuzz --with-nativecomp --with-xwidgets 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection' LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM XWIDGETS GTK3 ZLIB Important settings: value of $LC_CTYPE: en_US.UTF-8 value of $LC_MONETARY: en_US.UTF-8 value of $LC_NUMERIC: en_US.UTF-8 value of $LC_TIME: en_US.UTF-8 value of $LANG: en_US.utf8 value of $XMODIFIERS: @im=fcitx5 locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: global-semanticdb-minor-mode: t global-semantic-idle-scheduler-mode: t openwith-mode: t helm--remap-mouse-mode: t async-bytecomp-package-mode: t org-clock-today-mode: t yas-global-mode: t yas-minor-mode: t override-global-mode: t delete-selection-mode: t global-auto-complete-mode: t global-edit-server-edit-mode: t pdf-occur-global-minor-mode: t semantic-mode: t shell-dirtrack-mode: t ido-ubiquitous-mode: t ido-everywhere: t show-paren-mode: t org-cdlatex-mode: t keyfreq-autosave-mode: t keyfreq-mode: t global-auto-revert-mode: t display-time-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t global-visual-line-mode: t visual-line-mode: t transient-mark-mode: t abbrev-mode: t Load-path shadows: ~/.emacs.d/elpa/yasnippet-20200604.246/yasnippet hides /home/tongjie/.emacs.d/emacs-for-python/extensions/yasnippet/yasnippet /home/tongjie/.emacs.d/emacs-for-python/extensions/auto-complete/fuzzy hides ~/.emacs.d/fuzzy /home/tongjie/.emacs.d/emacs-for-python/extensions/auto-complete/popup hides ~/.emacs.d/popup ~/.emacs.d/jieba.el/jieba hides ~/.emacs.d/jieba ~/.emacs.d/lisp/anki/anki-connect hides /home/tongjie/.emacs.d/elpa/anki-connect-20191123.1858/anki-connect /home/tongjie/.emacs.d/emacs-for-python/extensions/autopair hides /home/tongjie/.emacs.d/elpa/autopair-20160304.1237/autopair /home/tongjie/.emacs.d/emacs-for-python/extensions/cython-mode hides /home/tongjie/.emacs.d/elpa/cython-mode-20211111.1407/cython-mode ~/.emacs.d/edit-server hides /home/tongjie/.emacs.d/elpa/edit-server-20181016.1125/edit-server ~/.emacs.d/gnuplot-mode/gnuplot-gui hides /home/tongjie/.emacs.d/elpa/gnuplot-20220102.1637/gnuplot-gui ~/.emacs.d/gnuplot-mode/gnuplot-context hides /home/tongjie/.emacs.d/elpa/gnuplot-20220102.1637/gnuplot-context ~/.emacs.d/gnuplot-mode/gnuplot hides /home/tongjie/.emacs.d/elpa/gnuplot-20220102.1637/gnuplot /home/tongjie/.emacs.d/emacs-for-python/extensions/highlight-indentation hides /home/tongjie/.emacs.d/elpa/highlight-indentation-20210221.1418/highlight-indentation /home/tongjie/.emacs.d/emacs-for-python/extensions/python hides /home/tongjie/.emacs.d/elpa/python-0.28/python /home/tongjie/.emacs.d/elpa/parseclj-20211013.453/parseclj hides /home/tongjie/.emacs.d/elpa/spiral-20180223.1140/parseclj /home/tongjie/.emacs.d/elpa/parseedn-20211013.452/parseedn hides /home/tongjie/.emacs.d/elpa/spiral-20180223.1140/parseedn /home/tongjie/.emacs.d/elpa/parseclj-20211013.453/parseclj-ast hides /home/tongjie/.emacs.d/elpa/spiral-20180223.1140/parseclj-ast /home/tongjie/.emacs.d/elpa/parseclj-20211013.453/parseclj-parser hides /home/tongjie/.emacs.d/elpa/spiral-20180223.1140/parseclj-parser /home/tongjie/.emacs.d/elpa/parseclj-20211013.453/parseclj-lex hides /home/tongjie/.emacs.d/elpa/spiral-20180223.1140/parseclj-lex /home/tongjie/.emacs.d/emacs-for-python/extensions/auto-complete/auto-complete-config hides /home/tongjie/.emacs.d/elpa/auto-complete-20220105.439/auto-complete-config /home/tongjie/.emacs.d/emacs-for-python/extensions/auto-complete/auto-complete hides /home/tongjie/.emacs.d/elpa/auto-complete-20220105.439/auto-complete ~/.emacs.d/ob-js hides /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-js ~/.emacs.d/pos-tip hides /home/tongjie/.emacs.d/elpa/pos-tip-20191227.1356/pos-tip /home/tongjie/.emacs.d/emacs-for-python/extensions/auto-complete/popup hides /home/tongjie/.emacs.d/elpa/popup-20211231.1823/popup /home/tongjie/.emacs.d/elpa/transient-20220130.1941/transient hides /usr/share/emacs/28.0.50/lisp/transient /home/tongjie/.emacs.d/elpa/jsonrpc-1.0.15/jsonrpc hides /usr/share/emacs/28.0.50/lisp/jsonrpc ~/.emacs.d/remember hides /usr/share/emacs/28.0.50/lisp/textmodes/remember /home/tongjie/.emacs.d/emacs-for-python/extensions/python hides /usr/share/emacs/28.0.50/lisp/progmodes/python /home/tongjie/.emacs.d/elpa/org-9.5.2/ol-eww hides /usr/share/emacs/28.0.50/lisp/org/ol-eww /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-ocaml hides /usr/share/emacs/28.0.50/lisp/org/ob-ocaml /home/tongjie/.emacs.d/elpa/org-9.5.2/org-lint hides /usr/share/emacs/28.0.50/lisp/org/org-lint /home/tongjie/.emacs.d/elpa/org-9.5.2/ol-info hides /usr/share/emacs/28.0.50/lisp/org/ol-info /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-plantuml hides /usr/share/emacs/28.0.50/lisp/org/ob-plantuml /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-python hides /usr/share/emacs/28.0.50/lisp/org/ob-python /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-matlab hides /usr/share/emacs/28.0.50/lisp/org/ob-matlab /home/tongjie/.emacs.d/elpa/org-9.5.2/ol-rmail hides /usr/share/emacs/28.0.50/lisp/org/ol-rmail /home/tongjie/.emacs.d/elpa/org-9.5.2/ol-docview hides /usr/share/emacs/28.0.50/lisp/org/ol-docview /home/tongjie/.emacs.d/elpa/org-9.5.2/org-macs hides /usr/share/emacs/28.0.50/lisp/org/org-macs /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-gnuplot hides /usr/share/emacs/28.0.50/lisp/org/ob-gnuplot /home/tongjie/.emacs.d/elpa/org-9.5.2/org-id hides /usr/share/emacs/28.0.50/lisp/org/org-id /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-lua hides /usr/share/emacs/28.0.50/lisp/org/ob-lua /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-haskell hides /usr/share/emacs/28.0.50/lisp/org/ob-haskell /home/tongjie/.emacs.d/elpa/org-9.5.2/ox-odt hides /usr/share/emacs/28.0.50/lisp/org/ox-odt /home/tongjie/.emacs.d/elpa/org-9.5.2/org-clock hides /usr/share/emacs/28.0.50/lisp/org/org-clock /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-ditaa hides /usr/share/emacs/28.0.50/lisp/org/ob-ditaa /home/tongjie/.emacs.d/elpa/org-9.5.2/org-macro hides /usr/share/emacs/28.0.50/lisp/org/org-macro /home/tongjie/.emacs.d/elpa/org-9.5.2/org-mouse hides /usr/share/emacs/28.0.50/lisp/org/org-mouse /home/tongjie/.emacs.d/elpa/org-9.5.2/org-plot hides /usr/share/emacs/28.0.50/lisp/org/org-plot /home/tongjie/.emacs.d/elpa/org-9.5.2/org-table hides /usr/share/emacs/28.0.50/lisp/org/org-table /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-sed hides /usr/share/emacs/28.0.50/lisp/org/ob-sed /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-exp hides /usr/share/emacs/28.0.50/lisp/org/ob-exp /home/tongjie/.emacs.d/elpa/org-9.5.2/ox hides /usr/share/emacs/28.0.50/lisp/org/ox ~/.emacs.d/ob-js hides /usr/share/emacs/28.0.50/lisp/org/ob-js /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-groovy hides /usr/share/emacs/28.0.50/lisp/org/ob-groovy /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-eshell hides /usr/share/emacs/28.0.50/lisp/org/ob-eshell /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-sqlite hides /usr/share/emacs/28.0.50/lisp/org/ob-sqlite /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-shell hides /usr/share/emacs/28.0.50/lisp/org/ob-shell /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-processing hides /usr/share/emacs/28.0.50/lisp/org/ob-processing /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-emacs-lisp hides /usr/share/emacs/28.0.50/lisp/org/ob-emacs-lisp /home/tongjie/.emacs.d/elpa/org-9.5.2/ox-html hides /usr/share/emacs/28.0.50/lisp/org/ox-html /home/tongjie/.emacs.d/elpa/org-9.5.2/ox-man hides /usr/share/emacs/28.0.50/lisp/org/ox-man /home/tongjie/.emacs.d/elpa/org-9.5.2/ox-ascii hides /usr/share/emacs/28.0.50/lisp/org/ox-ascii /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-java hides /usr/share/emacs/28.0.50/lisp/org/ob-java /home/tongjie/.emacs.d/elpa/org-9.5.2/org-duration hides /usr/share/emacs/28.0.50/lisp/org/org-duration /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-clojure hides /usr/share/emacs/28.0.50/lisp/org/ob-clojure /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-ref hides /usr/share/emacs/28.0.50/lisp/org/ob-ref /home/tongjie/.emacs.d/elpa/org-9.5.2/ox-latex hides /usr/share/emacs/28.0.50/lisp/org/ox-latex /home/tongjie/.emacs.d/elpa/org-9.5.2/ox-beamer hides /usr/share/emacs/28.0.50/lisp/org/ox-beamer /home/tongjie/.emacs.d/elpa/org-9.5.2/org-list hides /usr/share/emacs/28.0.50/lisp/org/org-list /home/tongjie/.emacs.d/elpa/org-9.5.2/ol-eshell hides /usr/share/emacs/28.0.50/lisp/org/ol-eshell /home/tongjie/.emacs.d/elpa/org-9.5.2/org-keys hides /usr/share/emacs/28.0.50/lisp/org/org-keys /home/tongjie/.emacs.d/elpa/org-9.5.2/org-footnote hides /usr/share/emacs/28.0.50/lisp/org/org-footnote /home/tongjie/.emacs.d/elpa/org-9.5.2/org-agenda hides /usr/share/emacs/28.0.50/lisp/org/org-agenda /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-sass hides /usr/share/emacs/28.0.50/lisp/org/ob-sass /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-lob hides /usr/share/emacs/28.0.50/lisp/org/ob-lob /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-tangle hides /usr/share/emacs/28.0.50/lisp/org/ob-tangle /home/tongjie/.emacs.d/elpa/org-9.5.2/org-attach-git hides /usr/share/emacs/28.0.50/lisp/org/org-attach-git /home/tongjie/.emacs.d/elpa/org-9.5.2/org-feed hides /usr/share/emacs/28.0.50/lisp/org/org-feed /home/tongjie/.emacs.d/elpa/org-9.5.2/org-refile hides /usr/share/emacs/28.0.50/lisp/org/org-refile /home/tongjie/.emacs.d/elpa/org-9.5.2/org-src hides /usr/share/emacs/28.0.50/lisp/org/org-src /home/tongjie/.emacs.d/elpa/org-9.5.2/ol hides /usr/share/emacs/28.0.50/lisp/org/ol /home/tongjie/.emacs.d/elpa/org-9.5.2/org-entities hides /usr/share/emacs/28.0.50/lisp/org/org-entities /home/tongjie/.emacs.d/elpa/org-9.5.2/org-attach hides /usr/share/emacs/28.0.50/lisp/org/org-attach /home/tongjie/.emacs.d/elpa/org-9.5.2/ol-w3m hides /usr/share/emacs/28.0.50/lisp/org/ol-w3m /home/tongjie/.emacs.d/elpa/org-9.5.2/org-compat hides /usr/share/emacs/28.0.50/lisp/org/org-compat /home/tongjie/.emacs.d/elpa/org-9.5.2/org-indent hides /usr/share/emacs/28.0.50/lisp/org/org-indent /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-lisp hides /usr/share/emacs/28.0.50/lisp/org/ob-lisp /home/tongjie/.emacs.d/elpa/org-9.5.2/org-goto hides /usr/share/emacs/28.0.50/lisp/org/org-goto /home/tongjie/.emacs.d/elpa/org-9.5.2/org-faces hides /usr/share/emacs/28.0.50/lisp/org/org-faces /home/tongjie/.emacs.d/elpa/org-9.5.2/org-tempo hides /usr/share/emacs/28.0.50/lisp/org/org-tempo /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-css hides /usr/share/emacs/28.0.50/lisp/org/ob-css /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-makefile hides /usr/share/emacs/28.0.50/lisp/org/ob-makefile /home/tongjie/.emacs.d/elpa/org-9.5.2/ol-bibtex hides /usr/share/emacs/28.0.50/lisp/org/ol-bibtex /home/tongjie/.emacs.d/elpa/org-9.5.2/ox-publish hides /usr/share/emacs/28.0.50/lisp/org/ox-publish /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-lilypond hides /usr/share/emacs/28.0.50/lisp/org/ob-lilypond /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-scheme hides /usr/share/emacs/28.0.50/lisp/org/ob-scheme /home/tongjie/.emacs.d/elpa/org-9.5.2/org-habit hides /usr/share/emacs/28.0.50/lisp/org/org-habit /home/tongjie/.emacs.d/elpa/org-9.5.2/org-datetree hides /usr/share/emacs/28.0.50/lisp/org/org-datetree /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-screen hides /usr/share/emacs/28.0.50/lisp/org/ob-screen /home/tongjie/.emacs.d/elpa/org-9.5.2/org-mobile hides /usr/share/emacs/28.0.50/lisp/org/org-mobile /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-latex hides /usr/share/emacs/28.0.50/lisp/org/ob-latex /home/tongjie/.emacs.d/elpa/org-9.5.2/org-ctags hides /usr/share/emacs/28.0.50/lisp/org/org-ctags /home/tongjie/.emacs.d/elpa/org-9.5.2/org-protocol hides /usr/share/emacs/28.0.50/lisp/org/org-protocol /home/tongjie/.emacs.d/elpa/org-9.5.2/org-archive hides /usr/share/emacs/28.0.50/lisp/org/org-archive /home/tongjie/.emacs.d/elpa/org-9.5.2/ol-bbdb hides /usr/share/emacs/28.0.50/lisp/org/ol-bbdb /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-maxima hides /usr/share/emacs/28.0.50/lisp/org/ob-maxima /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-octave hides /usr/share/emacs/28.0.50/lisp/org/ob-octave /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-fortran hides /usr/share/emacs/28.0.50/lisp/org/ob-fortran /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-sql hides /usr/share/emacs/28.0.50/lisp/org/ob-sql /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-calc hides /usr/share/emacs/28.0.50/lisp/org/ob-calc /home/tongjie/.emacs.d/elpa/org-9.5.2/org-timer hides /usr/share/emacs/28.0.50/lisp/org/org-timer /home/tongjie/.emacs.d/elpa/org-9.5.2/ol-mhe hides /usr/share/emacs/28.0.50/lisp/org/ol-mhe /home/tongjie/.emacs.d/elpa/org-9.5.2/ol-irc hides /usr/share/emacs/28.0.50/lisp/org/ol-irc /home/tongjie/.emacs.d/elpa/org-9.5.2/org-crypt hides /usr/share/emacs/28.0.50/lisp/org/org-crypt /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-core hides /usr/share/emacs/28.0.50/lisp/org/ob-core /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-perl hides /usr/share/emacs/28.0.50/lisp/org/ob-perl /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-table hides /usr/share/emacs/28.0.50/lisp/org/ob-table /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-ruby hides /usr/share/emacs/28.0.50/lisp/org/ob-ruby /home/tongjie/.emacs.d/elpa/org-9.5.2/ox-org hides /usr/share/emacs/28.0.50/lisp/org/ox-org /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-dot hides /usr/share/emacs/28.0.50/lisp/org/ob-dot /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-eval hides /usr/share/emacs/28.0.50/lisp/org/ob-eval /home/tongjie/.emacs.d/elpa/org-9.5.2/org-loaddefs hides /usr/share/emacs/28.0.50/lisp/org/org-loaddefs /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-comint hides /usr/share/emacs/28.0.50/lisp/org/ob-comint /home/tongjie/.emacs.d/elpa/org-9.5.2/org-pcomplete hides /usr/share/emacs/28.0.50/lisp/org/org-pcomplete /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-C hides /usr/share/emacs/28.0.50/lisp/org/ob-C /home/tongjie/.emacs.d/elpa/org-9.5.2/org hides /usr/share/emacs/28.0.50/lisp/org/org /home/tongjie/.emacs.d/elpa/org-9.5.2/org-element hides /usr/share/emacs/28.0.50/lisp/org/org-element /home/tongjie/.emacs.d/elpa/org-9.5.2/ol-gnus hides /usr/share/emacs/28.0.50/lisp/org/ol-gnus /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-awk hides /usr/share/emacs/28.0.50/lisp/org/ob-awk /home/tongjie/.emacs.d/elpa/org-9.5.2/ob hides /usr/share/emacs/28.0.50/lisp/org/ob /home/tongjie/.emacs.d/elpa/org-9.5.2/org-capture hides /usr/share/emacs/28.0.50/lisp/org/org-capture /home/tongjie/.emacs.d/elpa/org-9.5.2/ox-md hides /usr/share/emacs/28.0.50/lisp/org/ox-md /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-R hides /usr/share/emacs/28.0.50/lisp/org/ob-R /home/tongjie/.emacs.d/elpa/org-9.5.2/org-version hides /usr/share/emacs/28.0.50/lisp/org/org-version /home/tongjie/.emacs.d/elpa/org-9.5.2/org-colview hides /usr/share/emacs/28.0.50/lisp/org/org-colview /home/tongjie/.emacs.d/elpa/org-9.5.2/ox-texinfo hides /usr/share/emacs/28.0.50/lisp/org/ox-texinfo /home/tongjie/.emacs.d/elpa/org-9.5.2/org-inlinetask hides /usr/share/emacs/28.0.50/lisp/org/org-inlinetask /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-org hides /usr/share/emacs/28.0.50/lisp/org/ob-org /home/tongjie/.emacs.d/elpa/org-9.5.2/org-num hides /usr/share/emacs/28.0.50/lisp/org/org-num /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-forth hides /usr/share/emacs/28.0.50/lisp/org/ob-forth /home/tongjie/.emacs.d/elpa/org-9.5.2/ox-icalendar hides /usr/share/emacs/28.0.50/lisp/org/ox-icalendar /home/tongjie/.emacs.d/elpa/hierarchy-20190425.842/hierarchy hides /usr/share/emacs/28.0.50/lisp/emacs-lisp/hierarchy /home/tongjie/.emacs.d/elpa/seq-2.23/seq hides /usr/share/emacs/28.0.50/lisp/emacs-lisp/seq /home/tongjie/.emacs.d/elpa/map-3.2.1/map hides /usr/share/emacs/28.0.50/lisp/emacs-lisp/map Features: (shadow sort mail-extr emacsbug sendmail ielm latexenc jedi jedi-core python-environment epc ctable concurrent helm-org-rifle semantic/bovine/make semantic/decorate/include semantic/decorate/mode semantic/bovine/make-by semantic/bovine make-mode semantic/dep semantic/tag-file semantic/edit jdee-flycheck semantic/db-find semantic/db-ref semantic/db-mode semantic/wisent/java-tags semantic/wisent/javat-wy jdee-plugins jdee shortdoc misearch multi-isearch rainbow-delimiters cl-print cus-start ispell elfeed-link elfeed-show elfeed-search elfeed-csv elfeed elfeed-curl elfeed-log xml-query elfeed-db elfeed-lib anki-editor google-this imenu-list racket-mode racket-bug-report racket-collection racket-repl-buffer-name racket-stepper racket-logger racket-profile racket-smart-open racket-xp racket-xp-complete racket-imenu racket-edit hideshow racket-repl semantic/symref/grep semantic/symref racket-show racket-eldoc racket-describe racket-scribble racket-visit racket-complete racket-common racket-parens racket-indent racket-font-lock racket-ppss racket-keywords-and-builtins racket-doc racket-cmd racket-util racket-browse-url racket-custom sh-script smie emacs-everywhere pdf-sync pdf-annot org-noter pdf-outline pdf-links pdf-history cua-base skeleton quickrun em-banner eshell esh-mode esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups winner tramp-archive tramp-gvfs tramp-cache zeroconf jdee-wiz jdee-test jdee-stacktrace jdee-refactor dired-aux jdee-project-file jdee-maven jdee-keys jdee-jdb jdee-java-grammar jdee-which-method jdee-font-lock jdee-issues jdee-help jdee-gen tempo jdee-find jdee-deps jdee-cygwin jdee-custom jdee-compile jdee-class jdee-bytecode jdee-bug jdee-run jdee-jdk-manager jdee-dbs jdee-dbo jdee-widgets tree-widget jdee-db jdee-open-source semantic/senator semantic/decorate jdee-import jdee-complete semantic/idle semantic/analyze semantic/scope semantic/analyze/fcn jdee-archive jdee-parse jdee-backend jdee-bsh jdee-util jdee-parse-expr beanshell jdee-imenu semantic/imenu semantic/sb semantic/sort semantic/db-file data-debug cedet-files semantic/db eieio-base semantic/java semantic/format semantic/tag-ls semantic/find semantic/doc semantic/ctxt jdee-avl-tree etags fileloop efc eieio-compat jdee-annotations jdee-abbrev jdee-classpath jdee-files jdee-activator jdee-log executable image-file image-converter dabbrev tabify gnutls network-stream url-cache org-cliplink org-cliplink-transport org-cliplink-string em-glob esh-util org-journal org-crypt cal-move org-drill-table org-drill persist impatient-mode htmlize simple-httpd mule-util cal-iso org-duration vc-filewise vc-rcs face-remap server ox-moderncv org-cv-utils leetcode-cn graphql clj-refactor cap-words superword subword inflections sgml-mode facemenu mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors multiple-cursors-core rect paredit cider cider-debug cider-browse-ns cider-mode cider-find cider-inspector cider-completion cider-profile cider-eval cider-jar cider-repl-history cider-repl cider-resolve cider-test cider-overlays cider-stacktrace cider-doc cider-browse-spec cider-clojuredocs cider-eldoc cider-client cider-common cider-connection cider-util cider-popup sesman-browser nrepl-client nrepl-dict cider-compat spinner sesman vc clojure-mode align parseedn parseclj-parser parseclj-lex parseclj-alist websocket bindat org-transclusion text-clone org-mind-map mw-collegiate mw-learner mw-thesaurus anki anki-db anki-learn anki-card anki-search anki-core emacsql-sqlite emacsql emacsql-compiler shrface org-indent pyim-wbdict pyim pyim-probe pyim-cregexp xr pyim-process pyim-cstring pyim-autoselector pyim-punctuation pyim-outcome pyim-indicator pyim-preview pyim-magic pyim-candidates pyim-codes pyim-imobjs pyim-pinyin pyim-pymap pyim-dcache pyim-dict pyim-page pyim-entered posframe pyim-scheme pyim-common openwith org-recoll ereader xml+ view picture helm-command helm-elisp helm-eval edebug helm-info helm-mode helm-misc helm-files helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp helm-utils helm-types helm-help helm async-bytecomp helm-global-bindings helm-source helm-multi-match helm-lib org-download org-attach org-id async org-clock-today org-inlinetask jieba-node jsonrpc ert ewoc debug backtrace jieba ol-pdfview clojure-snippets react-snippets yasnippet-classic-snippets yasnippet-snippets angular-snippets yasnippet flycheck flymake-proc flymake warnings use-package-chords bind-chord key-chord use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays hol-loaddefs vc-git diff-mode vc-dispatcher matlab matlab-scan matlab-syntax matlab-compat pulse color appt diary-lib diary-loaddefs org-alert alert log4e notifications gntp qe-modes org-protocol org-ref org-ref-core org-ref-glossary org-ref-bibtex avy doi-utils url-http url-auth url-gw nsm org-ref-utils org-ref-export citeproc citeproc-itemgetters citeproc-biblatex citeproc-bibtex citeproc-cite citeproc-subbibs citeproc-sort citeproc-name citeproc-formatters citeproc-number rst citeproc-proc citeproc-disamb citeproc-itemdata citeproc-generic-elements citeproc-macro citeproc-choose citeproc-date citeproc-context citeproc-prange citeproc-style citeproc-locale citeproc-term citeproc-rt citeproc-lib citeproc-s queue ox-org org-ref-misc-links org-ref-label-link org-ref-ref-links org-ref-citation-links xref project org-ref-bibliography-links hydra lv bibtex-completion org-capture biblio biblio-download biblio-dissemin biblio-ieee biblio-hal biblio-dblp biblio-crossref biblio-arxiv timezone biblio-doi biblio-core hl-line parsebib f epy-init epy-bindings epy-nose nose epy-editing delsel eproject open-next-line smart-operator epy-completion epy-setup el-get el-get-autoloading el-get-list-packages el-get-dependencies el-get-build el-get-status el-get-methods el-get-fossil el-get-svn el-get-pacman el-get-github-zip el-get-github-tar el-get-http-zip el-get-http-tar el-get-hg el-get-go el-get-git-svn el-get-fink el-get-emacswiki el-get-http el-get-notify el-get-emacsmirror el-get-github el-get-git el-get-elpa el-get-darcs el-get-cvs el-get-bzr el-get-brew el-get-builtin el-get-apt-get el-get-recipes el-get-byte-compile el-get-custom el-get-core autoload lisp-mnt ox-synctex minibuffer-complete-cycle pos-tip auto-complete-config auto-complete popup ox-md ox-beamer ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox edit-server pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch let-alist pdf-misc imenu pdf-tools pdf-view bookmark pdf-cache pdf-info tq pdf-util use-package-core org-install ob-scheme geiser ob-maxima ob-sage ob-haskell ob-java ob-matlab ob-R ob-typescript ol-eww eww xdg url-queue thingatpt mm-url ob-lua ob-sqlite ob-sql ob-octave ob-awk ob-ditaa ob-shell ob-plantuml ob-latex ob-calc calc-store calc-trail calc-ext calc calc-loaddefs calc-macs ob-screen ob-org ob-lisp ob-js ob-gnuplot ob-dot ob-perl ob-clojure ob-python python tramp-sh tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell ls-lisp ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs cdlatex texmathp org-trello org-trello-controller org-trello-deferred org-trello-proxy org-trello-input org-trello-buffer org-trello-date org-trello-backend org-trello-api org-trello-cbx org-trello-entity org-trello-query request-deferred deferred request org-trello-data org-trello-action org-element avl-tree generator ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-search eieio-opt cl-extra speedbar ezimage dframe gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum shr kinsoku svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus ido-completing-read+ memoize cus-edit pp minibuf-eldef ido xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range message rmc puny rfc822 mml mml-sec epa derived epg epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr wid-edit ol-docview doc-view jka-compr image-mode exif dired dired-loaddefs ol-bibtex ol-bbdb ol-w3m org-timer org-clock org-habit org-agenda org-refile leuven-theme paren org-trello-setup org-trello-hash org-trello-log org-trello-utils s org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete pcomplete org-list org-faces org-entities noutline outline easy-mmode org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex iso8601 time-date ol org-keys oc org-compat org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs keyfreq grep compile text-property-search comint ansi-color emojify apropos tar-mode arc-mode archive-mode pcase ht dash autorevert filenotify time cus-load all-autoloads edmacro kmacro geiser-impl help-fns radix-tree help-mode geiser-custom geiser-base ring helm-easymenu tex-site rx cl w3-autoloads wpuzzle-autoloads advice info package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget emacs-ng hashtable-print-readable backquote threads xwidget-internal dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 3609765 1063803) (symbols 48 77737 1) (strings 32 2184491 37124) (string-bytes 1 81760869) (vectors 16 207455) (vector-slots 8 3377329 1282919) (floats 8 7977 2810) (intervals 56 66818 4460) (buffers 992 383)) On Thu, Mar 3, 2022 at 12:15 PM Lars Ingebrigtsen <larsi <at> gnus.org> wrote: > chenphy10 <at> gmail.com writes: > > > When running "jdee-mode" from Melpa, without the patch, it will create > > erorrs on the "mode" undefined. I found it is caused by this quoted > > function. > > > > Please let me know if it is a suitable patch. > > [...] > > > - (define-abbrev-table (derived-mode-abbrev-table-name mode) > nil) > > + ,(define-abbrev-table (derived-mode-abbrev-table-name mode) > nil) > > The code looks correct the way it is, I think? > > What Emacs version are you seeing this problem in? Please use `M-x > report-emacs-bug' and include all the information you get in that buffer. > > -- > (domestic pets only, the antidote for overdose, milk.) > bloggy blog: http://lars.ingebrigtsen.no > -- Best, Tongjie
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#54240
; Package emacs
.
(Fri, 04 Mar 2022 00:37:01 GMT) Full text and rfc822 format available.Message #16 received at 54240 <at> debbugs.gnu.org (full text, mbox):
From: Michael Heerdegen <michael_heerdegen <at> web.de> To: Lars Ingebrigtsen <larsi <at> gnus.org> Cc: 54240 <at> debbugs.gnu.org, chenphy10 <at> gmail.com Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch Date: Fri, 04 Mar 2022 01:36:44 +0100
Lars Ingebrigtsen <larsi <at> gnus.org> writes: > > - (define-abbrev-table (derived-mode-abbrev-table-name mode) nil) > > + ,(define-abbrev-table (derived-mode-abbrev-table-name mode) nil) > > The code looks correct the way it is, I think? To me this looks like a regression introduced when converting to lexical binding. Look at the symbol 'mode': it's implicitly quoted so it can't refer to the lexical variable and you get the error reported. The patch unquotes too much however, looks like we want something like > > - (define-abbrev-table (derived-mode-abbrev-table-name mode) nil) > > + (define-abbrev-table (derived-mode-abbrev-table-name ',mode) nil) (does that work?) Michael.
bug-gnu-emacs <at> gnu.org
:bug#54240
; Package emacs
.
(Fri, 04 Mar 2022 03:29:01 GMT) Full text and rfc822 format available.Message #19 received at 54240 <at> debbugs.gnu.org (full text, mbox):
From: Tongjie Chen <chenphy10 <at> gmail.com> To: Michael Heerdegen <michael_heerdegen <at> web.de> Cc: 54240 <at> debbugs.gnu.org, Lars Ingebrigtsen <larsi <at> gnus.org> Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch Date: Thu, 3 Mar 2022 22:28:23 -0500
[Message part 1 (text/plain, inline)]
Thanks Michael. I tested this improved quoting and it worked. Once the abbrev table is defined, jdee will no longer run into problems. A strange thing is when eval the previous non patched defun, jdee will work. Wonder if "mode" was leaked somewhere. On Thu, Mar 3, 2022 at 7:36 PM Michael Heerdegen <michael_heerdegen <at> web.de> wrote: > Lars Ingebrigtsen <larsi <at> gnus.org> writes: > > > > - (define-abbrev-table (derived-mode-abbrev-table-name mode) nil) > > > + ,(define-abbrev-table (derived-mode-abbrev-table-name mode) nil) > > > > The code looks correct the way it is, I think? > > To me this looks like a regression introduced when converting to lexical > binding. Look at the symbol 'mode': it's implicitly quoted so it can't > refer to the lexical variable and you get the error reported. > > The patch unquotes too much however, looks like we want something like > > > > - (define-abbrev-table (derived-mode-abbrev-table-name mode) nil) > > > + (define-abbrev-table (derived-mode-abbrev-table-name ',mode) nil) > > (does that work?) > > Michael. > -- Best, Tongjie
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#54240
; Package emacs
.
(Fri, 04 Mar 2022 04:00:02 GMT) Full text and rfc822 format available.Message #22 received at 54240 <at> debbugs.gnu.org (full text, mbox):
From: Michael Heerdegen <michael_heerdegen <at> web.de> To: Tongjie Chen <chenphy10 <at> gmail.com> Cc: 54240 <at> debbugs.gnu.org, Lars Ingebrigtsen <larsi <at> gnus.org> Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch Date: Fri, 04 Mar 2022 04:59:49 +0100
Tongjie Chen <chenphy10 <at> gmail.com> writes: > Thanks Michael. I tested this improved quoting and it worked. Once the abbrev > table is defined, jdee will no longer run into problems. Good. > A strange thing is when eval the previous non patched defun, jdee will work. > Wonder if "mode" was leaked somewhere. The code uses a variable of that name, all with dynamical binding. So it might indeed not always error, but the binding of the variable would probably not the expected one. Michael.
bug-gnu-emacs <at> gnu.org
:bug#54240
; Package emacs
.
(Fri, 04 Mar 2022 15:21:02 GMT) Full text and rfc822 format available.Message #25 received at 54240 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Michael Heerdegen <michael_heerdegen <at> web.de> Cc: 54240 <at> debbugs.gnu.org, chenphy10 <at> gmail.com Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch Date: Fri, 04 Mar 2022 16:19:59 +0100
Michael Heerdegen <michael_heerdegen <at> web.de> writes: > To me this looks like a regression introduced when converting to lexical > binding. Look at the symbol 'mode': it's implicitly quoted so it can't > refer to the lexical variable and you get the error reported. Oh, yeah -- I was thinking that the mode had to be lexically bound there, but of course it isn't really, since eval is ... eval. (Whenever there's an eval in code, there's a bug somewhere.) Would adding LEXICAL to the eval form fix the issue here, or would that interact oddly with the defvar? > The patch unquotes too much however, looks like we want something like > >> > - (define-abbrev-table (derived-mode-abbrev-table-name mode) nil) >> > + (define-abbrev-table (derived-mode-abbrev-table-name ',mode) nil) > > (does that work?) Tongjie Chen <chenphy10 <at> gmail.com> writes: > Thanks Michael. I tested this improved quoting and it worked. Once the abbrev > table is defined, jdee will no longer run into problems. OK, I'll push Michael's change to emacs-28, because this is a regression from Emacs 27.2, I think. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
Lars Ingebrigtsen <larsi <at> gnus.org>
to control <at> debbugs.gnu.org
.
(Fri, 04 Mar 2022 15:21:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#54240
; Package emacs
.
(Fri, 04 Mar 2022 21:40:01 GMT) Full text and rfc822 format available.Message #30 received at 54240 <at> debbugs.gnu.org (full text, mbox):
From: Michael Heerdegen <michael_heerdegen <at> web.de> To: Lars Ingebrigtsen <larsi <at> gnus.org> Cc: 54240 <at> debbugs.gnu.org, chenphy10 <at> gmail.com Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch Date: Fri, 04 Mar 2022 22:39:32 +0100
Lars Ingebrigtsen <larsi <at> gnus.org> writes: > Oh, yeah -- I was thinking that the mode had to be lexically bound > there, but of course it isn't really, since eval is ... eval. (Whenever > there's an eval in code, there's a bug somewhere.) `defvar' doesn't eval the first argument, and there is no alternative to using it (right?). So `derived-mode-init-mode-variables' should just better be a macro I think. > Would adding LEXICAL to the eval form fix the issue here, or would that > interact oddly with the defvar? Yes - since `defvar' doesn't evaluate its first argument no variable references will work. The constructed sexp must contain the final symbol at that position, any other expression won't do it. Michael.
bug-gnu-emacs <at> gnu.org
:bug#54240
; Package emacs
.
(Sun, 06 Mar 2022 16:14:02 GMT) Full text and rfc822 format available.Message #33 received at 54240 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Michael Heerdegen <michael_heerdegen <at> web.de> Cc: 54240 <at> debbugs.gnu.org, chenphy10 <at> gmail.com Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch Date: Sun, 06 Mar 2022 17:13:22 +0100
Michael Heerdegen <michael_heerdegen <at> web.de> writes: > `defvar' doesn't eval the first argument, and there is no alternative to > using it (right?). So `derived-mode-init-mode-variables' should just > better be a macro I think. Yeah, I think so, too. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 04 Apr 2022 11:24:05 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.