Package: emacs;
Reported by: Merrick Luo <merrick <at> luois.me>
Date: Wed, 23 Nov 2022 08:26:01 UTC
Severity: normal
Found in version 29.0.50
Done: Paul Eggert <eggert <at> cs.ucla.edu>
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 59506 in the body.
You can then email your comments to 59506 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#59506
; Package emacs
.
(Wed, 23 Nov 2022 08:26:01 GMT) Full text and rfc822 format available.Merrick Luo <merrick <at> luois.me>
:bug-gnu-emacs <at> gnu.org
.
(Wed, 23 Nov 2022 08:26:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Merrick Luo <merrick <at> luois.me> To: bug-gnu-emacs <at> gnu.org Subject: 29.0.50; (time-since nil) return format change Date: Wed, 23 Nov 2022 16:24:56 +0800
Hi, I recently find this while debugging with lsp-mode, when calling `time-since` with nil, the returned value is a alist instead of list, which breaks some expectation in the code. in emacs 29: (time-since 0) => (25469 55305 800045 582000) (time-since "2022-11-11") => (16 47157 285760 427000) (time-since nil) => (0 . 1000000000) in emacs 28: (time-since nil) => (0 0 0 0) In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0) of 2022-11-23 built on localhost Repository revision: 057901f55ad12ebbc9cf092dd6ad0f02539849f9 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101004 System Description: Gentoo Linux Configured using: 'configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --datarootdir=/usr/share --disable-silent-rules --docdir=/usr/share/doc/emacs-29.0.9999 --htmldir=/usr/share/doc/emacs-29.0.9999/html --libdir=/usr/lib64 --program-suffix=-emacs-29-vcs --includedir=/usr/include/emacs-29-vcs --infodir=/usr/share/info/emacs-29-vcs --localstatedir=/var --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp --without-compress-install --without-hesiod --without-pop --with-file-notification=inotify --with-pdumper --enable-acl --with-dbus --with-modules --without-gameuser --with-libgmp --with-gpm --with-native-compilation=aot --with-json --without-kerberos --without-kerberos5 --with-lcms2 --with-xml2 --without-mailutils --without-selinux --with-sqlite3 --with-gnutls --without-libsystemd --with-threads --without-wide-int --with-tree-sitter --with-sound=alsa --with-zlib --with-x --without-pgtk --without-ns --without-gconf --with-gsettings --without-toolkit-scroll-bars --with-xpm --with-xft --with-cairo --with-harfbuzz --without-libotf --without-m17n-flt --with-x-toolkit=lucid --without-xaw3d --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --without-webp --without-imagemagick --with-dumping=pdumper 'CFLAGS=-march=native -O2 -pipe' 'LDFLAGS=-Wl,-O1 -Wl,--as-needed'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TREE_SITTER X11 XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LANG: en_US.utf8 value of $XMODIFIERS: @im=fcitx locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: global-anzu-mode: t anzu-mode: t evil-traces-mode: t global-evil-surround-mode: t evil-surround-mode: t eros-mode: t highlight-quoted-mode: t rainbow-delimiters-mode: t +emacs-lisp-non-package-mode: t whitespace-mode: t auto-insert-mode: t flycheck-popup-tip-mode: t yas-global-mode: t yas-minor-mode: t vi-tilde-fringe-mode: t highlight-numbers-mode: t display-line-numbers-mode: t hl-todo-mode: t highlight-indent-guides-mode: t recentf-mode: t save-place-mode: t global-git-commit-mode: t envrc-global-mode: t envrc-mode: t projectile-mode: t which-key-mode: t savehist-mode: t better-jumper-mode: t better-jumper-local-mode: t company-box-mode: t vertico-mode: t marginalia-mode: t evil-goggles-mode: t evil-escape-mode: t evil-snipe-override-mode: t evil-snipe-mode: t evil-snipe-override-local-mode: t evil-snipe-local-mode: t server-mode: t gcmh-mode: t global-hl-line-mode: t hl-line-mode: t winner-mode: t ws-butler-global-mode: t ws-butler-mode: t global-undo-fu-session-mode: t undo-fu-session-mode: t undo-fu-mode: t persp-mode: t doom-modeline-mode: t solaire-global-mode: t org-roam-db-autosync-mode: t outline-minor-mode: t global-company-mode: t company-mode: t smartparens-global-mode: t smartparens-mode: t diff-hl-flydiff-mode: t diff-hl-mode: t notmuch-indicator-mode: t evil-owl-mode: t global-subword-mode: t subword-mode: t global-flycheck-mode: t flycheck-mode: t +lsp-optimization-mode: t shell-dirtrack-mode: t evil-mode: t evil-local-mode: t windmove-mode: t +popup-mode: t override-global-mode: t general-override-mode: t apheleia-global-mode: t apheleia-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t window-divider-mode: t size-indication-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/merrick/.config/emacs/.local/straight/build-29.0.50/cmake-mode/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode /home/merrick/.config/emacs/.local/straight/build-29.0.50/cmake-mode/cmake-mode hides /usr/share/emacs/site-lisp/cmake/cmake-mode /home/merrick/.config/emacs/.local/straight/build-29.0.50/dash/dash hides /usr/share/emacs/site-lisp/dash/dash /usr/share/emacs/site-lisp/desktop-entry-mode hides /usr/share/emacs/site-lisp/desktop-file-utils/desktop-entry-mode /home/merrick/.config/emacs/.local/straight/build-29.0.50/f/f hides /usr/share/emacs/site-lisp/f/f /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-lib hides /usr/share/emacs/site-lisp/notmuch/notmuch-lib /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-compat hides /usr/share/emacs/site-lisp/notmuch/notmuch-compat /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-parser hides /usr/share/emacs/site-lisp/notmuch/notmuch-parser /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch hides /usr/share/emacs/site-lisp/notmuch/notmuch /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-query hides /usr/share/emacs/site-lisp/notmuch/notmuch-query /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-show hides /usr/share/emacs/site-lisp/notmuch/notmuch-show /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-tree hides /usr/share/emacs/site-lisp/notmuch/notmuch-tree /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-wash hides /usr/share/emacs/site-lisp/notmuch/notmuch-wash /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-hello hides /usr/share/emacs/site-lisp/notmuch/notmuch-hello /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-mua hides /usr/share/emacs/site-lisp/notmuch/notmuch-mua /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-address hides /usr/share/emacs/site-lisp/notmuch/notmuch-address /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-maildir-fcc hides /usr/share/emacs/site-lisp/notmuch/notmuch-maildir-fcc /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-message hides /usr/share/emacs/site-lisp/notmuch/notmuch-message /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-crypto hides /usr/share/emacs/site-lisp/notmuch/notmuch-crypto /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-tag hides /usr/share/emacs/site-lisp/notmuch/notmuch-tag /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/coolj hides /usr/share/emacs/site-lisp/notmuch/coolj /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-print hides /usr/share/emacs/site-lisp/notmuch/notmuch-print /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-version hides /usr/share/emacs/site-lisp/notmuch/notmuch-version /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-jump hides /usr/share/emacs/site-lisp/notmuch/notmuch-jump /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-company hides /usr/share/emacs/site-lisp/notmuch/notmuch-company /home/merrick/.config/emacs/.local/straight/build-29.0.50/notmuch/notmuch-draft hides /usr/share/emacs/site-lisp/notmuch/notmuch-draft /home/merrick/.config/emacs/.local/straight/build-29.0.50/password-store/password-store hides /usr/share/emacs/site-lisp/pass/password-store /home/merrick/.config/emacs/.local/straight/build-29.0.50/s/s hides /usr/share/emacs/site-lisp/s/s /home/merrick/.config/emacs/.local/straight/build-29.0.50/with-editor/with-editor hides /usr/share/emacs/site-lisp/with-editor/with-editor /home/merrick/.config/emacs/.local/straight/build-29.0.50/transient/transient hides /usr/share/emacs/29.0.50/lisp/transient /home/merrick/.config/emacs/.local/straight/build-29.0.50/project/project hides /usr/share/emacs/29.0.50/lisp/progmodes/project /home/merrick/.config/emacs/.local/straight/build-29.0.50/xref/xref hides /usr/share/emacs/29.0.50/lisp/progmodes/xref /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-C hides /usr/share/emacs/29.0.50/lisp/org/ob-C /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-R hides /usr/share/emacs/29.0.50/lisp/org/ob-R /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-awk hides /usr/share/emacs/29.0.50/lisp/org/ob-awk /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-calc hides /usr/share/emacs/29.0.50/lisp/org/ob-calc /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-clojure hides /usr/share/emacs/29.0.50/lisp/org/ob-clojure /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-comint hides /usr/share/emacs/29.0.50/lisp/org/ob-comint /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-core hides /usr/share/emacs/29.0.50/lisp/org/ob-core /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-css hides /usr/share/emacs/29.0.50/lisp/org/ob-css /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-ditaa hides /usr/share/emacs/29.0.50/lisp/org/ob-ditaa /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-dot hides /usr/share/emacs/29.0.50/lisp/org/ob-dot /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-emacs-lisp hides /usr/share/emacs/29.0.50/lisp/org/ob-emacs-lisp /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-eshell hides /usr/share/emacs/29.0.50/lisp/org/ob-eshell /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-eval hides /usr/share/emacs/29.0.50/lisp/org/ob-eval /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-exp hides /usr/share/emacs/29.0.50/lisp/org/ob-exp /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-forth hides /usr/share/emacs/29.0.50/lisp/org/ob-forth /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-fortran hides /usr/share/emacs/29.0.50/lisp/org/ob-fortran /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-gnuplot hides /usr/share/emacs/29.0.50/lisp/org/ob-gnuplot /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-groovy hides /usr/share/emacs/29.0.50/lisp/org/ob-groovy /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-haskell hides /usr/share/emacs/29.0.50/lisp/org/ob-haskell /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-java hides /usr/share/emacs/29.0.50/lisp/org/ob-java /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-js hides /usr/share/emacs/29.0.50/lisp/org/ob-js /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-julia hides /usr/share/emacs/29.0.50/lisp/org/ob-julia /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-latex hides /usr/share/emacs/29.0.50/lisp/org/ob-latex /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-lilypond hides /usr/share/emacs/29.0.50/lisp/org/ob-lilypond /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-lisp hides /usr/share/emacs/29.0.50/lisp/org/ob-lisp /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-lob hides /usr/share/emacs/29.0.50/lisp/org/ob-lob /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-lua hides /usr/share/emacs/29.0.50/lisp/org/ob-lua /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-makefile hides /usr/share/emacs/29.0.50/lisp/org/ob-makefile /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-matlab hides /usr/share/emacs/29.0.50/lisp/org/ob-matlab /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-maxima hides /usr/share/emacs/29.0.50/lisp/org/ob-maxima /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-ocaml hides /usr/share/emacs/29.0.50/lisp/org/ob-ocaml /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-octave hides /usr/share/emacs/29.0.50/lisp/org/ob-octave /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-org hides /usr/share/emacs/29.0.50/lisp/org/ob-org /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-perl hides /usr/share/emacs/29.0.50/lisp/org/ob-perl /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-plantuml hides /usr/share/emacs/29.0.50/lisp/org/ob-plantuml /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-processing hides /usr/share/emacs/29.0.50/lisp/org/ob-processing /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-python hides /usr/share/emacs/29.0.50/lisp/org/ob-python /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-ref hides /usr/share/emacs/29.0.50/lisp/org/ob-ref /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-ruby hides /usr/share/emacs/29.0.50/lisp/org/ob-ruby /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-sass hides /usr/share/emacs/29.0.50/lisp/org/ob-sass /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-scheme hides /usr/share/emacs/29.0.50/lisp/org/ob-scheme /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-screen hides /usr/share/emacs/29.0.50/lisp/org/ob-screen /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-sed hides /usr/share/emacs/29.0.50/lisp/org/ob-sed /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-shell hides /usr/share/emacs/29.0.50/lisp/org/ob-shell /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-sql hides /usr/share/emacs/29.0.50/lisp/org/ob-sql /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-sqlite hides /usr/share/emacs/29.0.50/lisp/org/ob-sqlite /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-table hides /usr/share/emacs/29.0.50/lisp/org/ob-table /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob-tangle hides /usr/share/emacs/29.0.50/lisp/org/ob-tangle /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ob hides /usr/share/emacs/29.0.50/lisp/org/ob /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/oc-basic hides /usr/share/emacs/29.0.50/lisp/org/oc-basic /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/oc-biblatex hides /usr/share/emacs/29.0.50/lisp/org/oc-biblatex /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/oc-csl hides /usr/share/emacs/29.0.50/lisp/org/oc-csl /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/oc-natbib hides /usr/share/emacs/29.0.50/lisp/org/oc-natbib /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/oc hides /usr/share/emacs/29.0.50/lisp/org/oc /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol-bbdb hides /usr/share/emacs/29.0.50/lisp/org/ol-bbdb /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol-bibtex hides /usr/share/emacs/29.0.50/lisp/org/ol-bibtex /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol-docview hides /usr/share/emacs/29.0.50/lisp/org/ol-docview /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol-doi hides /usr/share/emacs/29.0.50/lisp/org/ol-doi /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol-eshell hides /usr/share/emacs/29.0.50/lisp/org/ol-eshell /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol-eww hides /usr/share/emacs/29.0.50/lisp/org/ol-eww /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol-gnus hides /usr/share/emacs/29.0.50/lisp/org/ol-gnus /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol-info hides /usr/share/emacs/29.0.50/lisp/org/ol-info /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol-irc hides /usr/share/emacs/29.0.50/lisp/org/ol-irc /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol-man hides /usr/share/emacs/29.0.50/lisp/org/ol-man /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol-mhe hides /usr/share/emacs/29.0.50/lisp/org/ol-mhe /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol-rmail hides /usr/share/emacs/29.0.50/lisp/org/ol-rmail /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol-w3m hides /usr/share/emacs/29.0.50/lisp/org/ol-w3m /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ol hides /usr/share/emacs/29.0.50/lisp/org/ol /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-agenda hides /usr/share/emacs/29.0.50/lisp/org/org-agenda /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-archive hides /usr/share/emacs/29.0.50/lisp/org/org-archive /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-attach-git hides /usr/share/emacs/29.0.50/lisp/org/org-attach-git /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-attach hides /usr/share/emacs/29.0.50/lisp/org/org-attach /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-capture hides /usr/share/emacs/29.0.50/lisp/org/org-capture /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-clock hides /usr/share/emacs/29.0.50/lisp/org/org-clock /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-colview hides /usr/share/emacs/29.0.50/lisp/org/org-colview /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-compat hides /usr/share/emacs/29.0.50/lisp/org/org-compat /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-crypt hides /usr/share/emacs/29.0.50/lisp/org/org-crypt /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-ctags hides /usr/share/emacs/29.0.50/lisp/org/org-ctags /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-datetree hides /usr/share/emacs/29.0.50/lisp/org/org-datetree /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-duration hides /usr/share/emacs/29.0.50/lisp/org/org-duration /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-element hides /usr/share/emacs/29.0.50/lisp/org/org-element /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-entities hides /usr/share/emacs/29.0.50/lisp/org/org-entities /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-faces hides /usr/share/emacs/29.0.50/lisp/org/org-faces /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-feed hides /usr/share/emacs/29.0.50/lisp/org/org-feed /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-footnote hides /usr/share/emacs/29.0.50/lisp/org/org-footnote /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-goto hides /usr/share/emacs/29.0.50/lisp/org/org-goto /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-habit hides /usr/share/emacs/29.0.50/lisp/org/org-habit /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-id hides /usr/share/emacs/29.0.50/lisp/org/org-id /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-indent hides /usr/share/emacs/29.0.50/lisp/org/org-indent /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-inlinetask hides /usr/share/emacs/29.0.50/lisp/org/org-inlinetask /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-keys hides /usr/share/emacs/29.0.50/lisp/org/org-keys /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-lint hides /usr/share/emacs/29.0.50/lisp/org/org-lint /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-list hides /usr/share/emacs/29.0.50/lisp/org/org-list /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-macro hides /usr/share/emacs/29.0.50/lisp/org/org-macro /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-macs hides /usr/share/emacs/29.0.50/lisp/org/org-macs /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-mobile hides /usr/share/emacs/29.0.50/lisp/org/org-mobile /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-mouse hides /usr/share/emacs/29.0.50/lisp/org/org-mouse /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-num hides /usr/share/emacs/29.0.50/lisp/org/org-num /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-pcomplete hides /usr/share/emacs/29.0.50/lisp/org/org-pcomplete /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-plot hides /usr/share/emacs/29.0.50/lisp/org/org-plot /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-protocol hides /usr/share/emacs/29.0.50/lisp/org/org-protocol /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-refile hides /usr/share/emacs/29.0.50/lisp/org/org-refile /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-src hides /usr/share/emacs/29.0.50/lisp/org/org-src /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-table hides /usr/share/emacs/29.0.50/lisp/org/org-table /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-tempo hides /usr/share/emacs/29.0.50/lisp/org/org-tempo /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-timer hides /usr/share/emacs/29.0.50/lisp/org/org-timer /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-version hides /usr/share/emacs/29.0.50/lisp/org/org-version /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org hides /usr/share/emacs/29.0.50/lisp/org/org /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ox-ascii hides /usr/share/emacs/29.0.50/lisp/org/ox-ascii /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ox-beamer hides /usr/share/emacs/29.0.50/lisp/org/ox-beamer /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ox-html hides /usr/share/emacs/29.0.50/lisp/org/ox-html /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ox-icalendar hides /usr/share/emacs/29.0.50/lisp/org/ox-icalendar /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ox-koma-letter hides /usr/share/emacs/29.0.50/lisp/org/ox-koma-letter /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ox-latex hides /usr/share/emacs/29.0.50/lisp/org/ox-latex /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ox-man hides /usr/share/emacs/29.0.50/lisp/org/ox-man /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ox-md hides /usr/share/emacs/29.0.50/lisp/org/ox-md /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ox-odt hides /usr/share/emacs/29.0.50/lisp/org/ox-odt /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ox-org hides /usr/share/emacs/29.0.50/lisp/org/ox-org /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ox-publish hides /usr/share/emacs/29.0.50/lisp/org/ox-publish /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ox-texinfo hides /usr/share/emacs/29.0.50/lisp/org/ox-texinfo /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/ox hides /usr/share/emacs/29.0.50/lisp/org/ox /home/merrick/.config/emacs/.local/straight/build-29.0.50/org/org-loaddefs hides /usr/share/emacs/29.0.50/lisp/org/org-loaddefs /home/merrick/.config/emacs/.local/straight/build-29.0.50/map/map hides /usr/share/emacs/29.0.50/lisp/emacs-lisp/map Features: (shadow sort mail-extr emacsbug evil-collection-vterm vterm docker-tramp tramp-cache time-stamp tramp tramp-loaddefs trampver tramp-integration cus-start files-x tramp-compat ls-lisp evil-collection-term term ehelp vterm-module term/xterm xterm magit-gitflow mm-archive evil-collection-notmuch notmuch notmuch-tree notmuch-jump notmuch-hello notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-message notmuch-draft notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser notmuch-wash coolj notmuch-query icalendar diary-lib diary-loaddefs notmuch-tag notmuch-lib notmuch-version notmuch-compat mm-view mml-smime smime dig tabify consult-xref dumb-jump evil-collection-typescript-mode typescript-mode js2-refactor js2r-paredit js2r-conveniences js2r-conditionals js2r-wrapping js2r-functions js2r-vars mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors multiple-cursors-core js2r-iife js2r-formatting js2r-helpers npm-mode xref-js2 evil-collection-rjsx-mode rjsx-mode js2-mode-expansions evil-collection-js2-mode js2-mode etags fileloop c-ts-mode company-ispell company-dabbrev evil-collection-tabulated-list evil-anzu anzu org-indent oc-basic ol-bibtex bibtex evil-traces evil-ex elisp-def ert hide-mode-line elisp-demos evil-collection-indent ts-mode js-mode-expansions smartparens-javascript js evil-collection-helpful helpful trace info-look evil-collection-info info evil-collection-elisp-refs elisp-refs cl-print evil-collection-help help-fns radix-tree delsel vc-hg vc-svn consult-flycheck evil-collection-consult consult-vertico consult compat-28 mule-util pangu-spacing spell-fu ispell html-mode-expansions sgml-mode facemenu heex-mode flycheck-cask evil-embrace evil-surround embrace expand-region subword-mode-expansions text-mode-expansions cc-mode-expansions the-org-mode-expansions ruby-mode-expansions web-mode-expansions er-basic-expansions expand-region-core expand-region-custom eros highlight-quoted rainbow-delimiters vertico-directory company-yasnippet company-web-html company-web web-completion-data company-css evil-collection-magit-todos magit-todos pcre2el rxt re-builder code-review code-review-actions code-review-comment code-review-section code-review-bitbucket code-review-faces emojify evil-collection-apropos apropos evil-collection-tar-mode tar-mode evil-collection-arc-mode arc-mode archive-mode code-review-gitlab code-review-utils evil-collection-forge forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml parse-time iso8601 bug-reference forge-post forge-repo forge forge-core forge-db code-review-parse-hunk code-review-github code-review-db uuidgen calc-misc calc-ext a code-review-interfaces deferred ghub-graphql treepy gsexp ghub url-http url-gw url-auth closql magit-bookmark magit-autoloads evil-collection-magit magit-submodule magit-obsolete magit-popup magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func evil-collection-edebug edebug evil-collection-debug debug backtrace magit-diff smerge-mode magit-core magit-autorevert magit-margin magit-transient magit-process magit-mode lsp-diagnostics lsp-modeline lsp-lens lsp-ui lsp-ui-flycheck lsp-ui-doc goto-addr evil-collection-lsp-ui-imenu lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-ui-util evil-collection-view view lsp-zig lsp-steep lsp-svelte lsp-sqls lsp-ruby-syntax-tree lsp-yaml lsp-xml lsp-vimscript lsp-vhdl lsp-volar lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v lsp-typeprof lsp-ttcn3 lsp-toml lsp-terraform lsp-tex lsp-sorbet lsp-solargraph lsp-rust lsp-rf lsp-remark lsp-racket lsp-r lsp-purescript lsp-pylsp lsp-pyls lsp-pwsh lsp-php lsp-pls lsp-perlnavigator lsp-perl lsp-openscad lsp-ocaml lsp-magik lsp-nix lsp-nim lsp-nginx lsp-mint lsp-marksman lsp-markdown lsp-lua lsp-kotlin lsp-json lsp-javascript lsp-idris lsp-haxe lsp-groovy lsp-hack lsp-graphql lsp-gleam lsp-go lsp-completion lsp-gdscript lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-emmet lsp-elixir lsp-elm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp gnutls lsp-crystal lsp-cmake lsp-clojure lsp-semantic-tokens lsp-clangd lsp-beancount lsp-bash lsp-ansible lsp-angular lsp-ada lsp-actionscript nav-flash jka-compr whitespace lsp-tailwindcss ccls ccls-member-hierarchy ccls-inheritance-hierarchy ccls-call-hierarchy ccls-tree ccls-code-lens ccls-semantic-highlight ccls-common smartparens-c cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs lsp-mode lsp-protocol evil-collection-xref xref project spinner network-stream nsm smartparens-markdown evil-collection-markdown-mode markdown-mode edit-indirect lv inline ht projectile-rails rake inflections inf-ruby smartparens-ruby evil-collection-ruby-mode ruby-mode autoinsert doom-snippets doom-snippets-lib yasnippet flycheck-popup-tip evil-collection-elisp-mode elisp-mode emmet-mode cl vi-tilde-fringe highlight-numbers parent-mode display-line-numbers hl-todo highlight-indent-guides smartparens-html web-mode disp-table recentf tree-widget saveplace git-commit magit-git magit-base crm with-editor transient evil-collection-log-edit log-edit add-log envrc inheritenv pyim-dhashcache async cursor-sensor vertico-repeat projectile evil-collection-grep grep evil-collection-compile compile ibuffer-vc ibuf-ext evil-collection-ibuffer ibuffer ibuffer-loaddefs evil-collection-which-key which-key savehist better-jumper company-box company-box-doc frame-local company-box-icons company-capf evil-collection-vertico vertico orderless marginalia evil-goggles evil-easymotion evil-escape evil-snipe server gcmh hl-line winner ws-butler undo-fu-session undo-fu persp-mode doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons shrink-path f f-shortdoc shortdoc doom-themes-ext-treemacs doom-themes-ext-org solaire-mode face-remap doom-nord-light-theme elfeed-tube-mpv mpv tq org-timer org-clock pulse color elfeed-tube elfeed-tube-utils aio valign elfeed-org s anki-editor request 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-icalendar org-agenda ox-ascii ox-md ox-beamer ox-latex org-re-reveal ox-html table ox-publish ox org-modern evil-collection-org org-roam-ui org-roam-dailies simple-httpd websocket bindat string-inflection evil-collection-org-roam org-roam-migrate org-roam-log org-roam-mode org-roam-capture org-roam-id org-roam-node org-roam-db org-roam-utils org-roam-compat org-roam org-capture org-attach emacsql-sqlite emacsql emacsql-compiler evil-collection-magit-section magit-section compat-27 compat-26 compat smartparens-org org-yt org-element org-persist xdg org-id org-refile org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities noutline outline ob-emacs-lisp org-table ol org-keys oc org-loaddefs evil-collection-calendar cal-menu calendar cal-loaddefs evil-collection-elfeed elfeed-show elfeed-search evil-collection-vc-git vc-git ebuild-mode skeleton company-shell company smartparens-config smartparens-text smartparens evil-collection-sh-script sh-script smie treesit executable diff-hl-flydiff diff evil-collection-diff-hl diff-hl evil-collection-log-view log-view pcvs-util evil-collection-vc-dir vc-dir ewoc vc vc-dispatcher evil-collection-diff-mode diff-mode auto-minor-mode dtrt-indent pyim-liberime liberime liberime-core pyim pyim-hacks 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-entered pyim-dcache pyim-dict pyim-page evil-collection-popup popup posframe pyim-scheme pyim-common evil-collection-bookmark bookmark message sendmail yank-media evil-collection-dired dired dired-loaddefs rfc822 mml mml-sec evil-collection-epa epa epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader shr text-property-search pixel-fill kinsoku puny svg dom elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib time-date avl-tree generator url-queue url-file xml-query notmuch-indicator apheleia evil-owl cap-words superword subword doom-themes doom-themes-base flycheck-package package-lint evil-collection-imenu imenu evil-collection-finder finder finder-inf lisp-mnt evil-collection-package-menu doom-packages package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source eieio eieio-core password-cache url-vars flycheck-clj-kondo evil-collection-flycheck evil-collection-custom cus-edit cus-load wid-edit evil-collection-comint evil-collection annalist flycheck json map find-func dash let-alist ob-core org-cycle org-fold org-fold-core org-compat ob-eval org-version org-macs format-spec smartparens-lua smartparens-elixir ibuf-macs fcitx dbus autorevert filenotify xml evil evil-integration evil-maps evil-commands reveal flyspell evil-jumps evil-command-window evil-search shell pcomplete comint ansi-osc ansi-color evil-types evil-macros evil-repeat evil-states evil-core comp comp-cstr warnings icons byte-opt advice evil-common windmove calc calc-loaddefs calc-macs thingatpt rect evil-digraphs evil-vars ring derived edmacro kmacro use-package-bind-key bind-key doom-editor doom-projects doom-ui easy-mmode doom-keybinds pp cl-extra help-mode use-package-core bytecomp byte-compile general rx site-gentoo doom-start doom-modules cl-seq doom doom-lib cl-macs cl-loaddefs cl-lib pcase gv jansson dynamic-modules subr-x chemacs rmc iso-transl tooltip cconv eldoc paren 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 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 nadvice seq simple cl-generic indonesian philippine 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 emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1740962 1710485) (symbols 48 105144 22) (strings 32 627116 172529) (string-bytes 1 18219075) (vectors 16 187457) (vector-slots 8 5960036 2179665) (floats 8 1747 7092) (intervals 56 20137 8066) (buffers 992 48))
bug-gnu-emacs <at> gnu.org
:bug#59506
; Package emacs
.
(Wed, 23 Nov 2022 09:15:01 GMT) Full text and rfc822 format available.Message #8 received at 59506 <at> debbugs.gnu.org (full text, mbox):
From: Juanma Barranquero <lekktu <at> gmail.com> To: Merrick Luo <merrick <at> luois.me> Cc: 59506 <at> debbugs.gnu.org Subject: Re: bug#59506: 29.0.50; (time-since nil) return format change Date: Wed, 23 Nov 2022 10:13:38 +0100
[Message part 1 (text/plain, inline)]
In most cases, nil is assumed to be the current time. `time-subtract' is doing that here. It could be "fixed" so diff --git i/lisp/calendar/time-date.el w/lisp/calendar/time-date.el index bbdcaa4db4..27ce10d7d6 100644 --- i/lisp/calendar/time-date.el +++ w/lisp/calendar/time-date.el @@ -200,5 +200,5 @@ time-since ;; Convert date strings to internal time. (setq time (date-to-time time))) - (time-subtract nil time)) + (time-subtract nil (or time (current-time)))) ;;;###autoload but that would make the result inconsistent: ELISP> (time-since nil) (0 0 0 0) ELISP> (time-since nil) (0 0 1 0) I'm not sure that's better. And you can always do (time-since (or time (current-time)))
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#59506
; Package emacs
.
(Wed, 23 Nov 2022 13:10:02 GMT) Full text and rfc822 format available.Message #11 received at 59506 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Juanma Barranquero <lekktu <at> gmail.com>, Paul Eggert <eggert <at> cs.ucla.edu> Cc: merrick <at> luois.me, 59506 <at> debbugs.gnu.org Subject: Re: bug#59506: 29.0.50; (time-since nil) return format change Date: Wed, 23 Nov 2022 15:09:30 +0200
> Cc: 59506 <at> debbugs.gnu.org > From: Juanma Barranquero <lekktu <at> gmail.com> > Date: Wed, 23 Nov 2022 10:13:38 +0100 > > In most cases, nil is assumed to be the current time. `time-subtract' is doing that here. Adding Paul. Paul, any comments? > It could be "fixed" so > > diff --git i/lisp/calendar/time-date.el w/lisp/calendar/time-date.el > index bbdcaa4db4..27ce10d7d6 100644 > --- i/lisp/calendar/time-date.el > +++ w/lisp/calendar/time-date.el > @@ -200,5 +200,5 @@ time-since > ;; Convert date strings to internal time. > (setq time (date-to-time time))) > - (time-subtract nil time)) > + (time-subtract nil (or time (current-time)))) > > ;;;###autoload > > but that would make the result inconsistent: > > ELISP> (time-since nil) > (0 0 0 0) > > ELISP> (time-since nil) > (0 0 1 0) > > I'm not sure that's better. And you can always do > > (time-since (or time (current-time)))
Paul Eggert <eggert <at> cs.ucla.edu>
:Merrick Luo <merrick <at> luois.me>
:Message #16 received at 59506-done <at> debbugs.gnu.org (full text, mbox):
From: Paul Eggert <eggert <at> cs.ucla.edu> To: Eli Zaretskii <eliz <at> gnu.org> Cc: Juanma Barranquero <lekktu <at> gmail.com>, merrick <at> luois.me, 59506-done <at> debbugs.gnu.org Subject: Re: bug#59506: 29.0.50; (time-since nil) return format change Date: Thu, 24 Nov 2022 13:03:07 -0800
[Message part 1 (text/plain, inline)]
On 2022-11-23 05:09, Eli Zaretskii wrote: > Paul, any comments? lsp-mode was buggy even with traditional Emacs timestamps like (0 0 0 0) because it mishandled millisecond counts. With new Emacs timestamps like (0 . 1000000000) lsp-mode signaled an error, exposing the bug. The problem has been fixed in bleeding-edge lsp-mode here: https://github.com/emacs-lsp/lsp-mode/commit/e5a6274fac076f0d74a6ca892467be66a90a9649 and to forestall similar problems elsewhere I installed the attached patch into GNU Emacs master on Savannah.
[0001-Work-around-lsp-mode-compatibility-bug.patch (text/x-patch, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#59506
; Package emacs
.
(Fri, 25 Nov 2022 06:51:02 GMT) Full text and rfc822 format available.Message #19 received at 59506-done <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Paul Eggert <eggert <at> cs.ucla.edu> Cc: lekktu <at> gmail.com, merrick <at> luois.me, 59506-done <at> debbugs.gnu.org Subject: Re: bug#59506: 29.0.50; (time-since nil) return format change Date: Fri, 25 Nov 2022 08:50:34 +0200
> Date: Thu, 24 Nov 2022 13:03:07 -0800 > Cc: merrick <at> luois.me, 59506-done <at> debbugs.gnu.org, > Juanma Barranquero <lekktu <at> gmail.com> > From: Paul Eggert <eggert <at> cs.ucla.edu> > > On 2022-11-23 05:09, Eli Zaretskii wrote: > > Paul, any comments? > > lsp-mode was buggy even with traditional Emacs timestamps like (0 0 0 0) > because it mishandled millisecond counts. With new Emacs timestamps like > (0 . 1000000000) lsp-mode signaled an error, exposing the bug. The > problem has been fixed in bleeding-edge lsp-mode here: > > https://github.com/emacs-lsp/lsp-mode/commit/e5a6274fac076f0d74a6ca892467be66a90a9649 > > and to forestall similar problems elsewhere I installed the attached > patch into GNU Emacs master on Savannah. Thanks.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Fri, 23 Dec 2022 12: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.