Package: emacs;
Reported by: No Wayman <iarchivedmywholelife <at> gmail.com>
Date: Wed, 26 Feb 2020 21:50:01 UTC
Severity: normal
Tags: confirmed, fixed, patch
Found in versions 28.0.50, 26.1
Fixed in version 27.1
Done: Noam Postavsky <npostavs <at> gmail.com>
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 39805 in the body.
You can then email your comments to 39805 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#39805; Package emacs.
(Wed, 26 Feb 2020 21:50:01 GMT) Full text and rfc822 format available.No Wayman <iarchivedmywholelife <at> gmail.com>:bug-gnu-emacs <at> gnu.org.
(Wed, 26 Feb 2020 21:50:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: No Wayman <iarchivedmywholelife <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 28.0.50; scan-sexps (scan_lists) incorrectly parsing circular list Date: Wed, 26 Feb 2020 16:33:59 -0500
While developing a package that utilizes circular lists, I ran
into a bug when trying to describe-variable
a variable that contains circular lists. I've hewed it down to the
following:
** Minimal Reproducible Case
#+begin_src emacs-lisp :results raw h replace
(condition-case-unless-debug err
(with-temp-buffer
(insert "(#9=() :key val)")
(pp-buffer)
nil)
(error err)))
#+end_src
*** Throws
(scan-error Containing expression ends prematurely 1 1)
*** Expected
nil
*** Additional Info
- My hunch is that the problem lies in syntax.c's scan_lists, but
I have not had time to look deeply into it.
- The error is not thrown when the string contains only one of the
"#" or ":" characters.
For example: "(9=() :key val)" or "(#9=() key val)".
- Issue exists when running "emacs -Q" as far back as v25.3.2
(have not tested earlier versions)
**** backtrace
#+begin_src emacs-lisp
Debugger entered--Lisp error: (scan-error "Containing expression
ends prematurely" 1 1)
scan-sexps(3 -1)
forward-sexp(-1)
calculate-lisp-indent((1 1 5 nil nil nil 0 nil nil (1) nil))
lisp-indent-calc-next(#s(lisp-indent-state :stack (nil) :ppss (0
nil nil nil nil nil 0 nil nil nil nil) :ppss-point 1))
indent-sexp()
pp-buffer()
(progn (insert "(#9=() :key val)") (pp-buffer) nil)
(unwind-protect (progn (insert "(#9=() :key val)") (pp-buffer)
nil) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
(save-current-buffer (set-buffer temp-buffer) (unwind-protect
(progn (insert "(#9=() :key val)") (pp-buffer) nil) (and
(buffer-name temp-buffer) (kill-buffer temp-buffer))))
(with-current-buffer temp-buffer (unwind-protect (progn (insert
"(#9=() :key val)") (pp-buffer) nil) (and (buffer-name
temp-buffer) (kill-buffer temp-buffer))))
(let ((temp-buffer (generate-new-buffer " *temp*")))
(with-current-buffer temp-buffer (unwind-protect (progn (insert
"(#9=() :key val)") (pp-buffer) nil) (and (buffer-name
temp-buffer) (kill-buffer temp-buffer)))))
(with-temp-buffer (insert "(#9=() :key val)") (pp-buffer) nil)
(condition-case err (with-temp-buffer (insert "(#9=() :key
val)") (pp-buffer) nil) ((debug error) err))
(condition-case-unless-debug err (with-temp-buffer (insert
"(#9=() :key val)") (pp-buffer) nil) (error err))
(progn (condition-case-unless-debug err (with-temp-buffer
(insert "(#9=() :key val)") (pp-buffer) nil) (error err)))
eval((progn (condition-case-unless-debug err (with-temp-buffer
(insert "(#9=() :key val)") (pp-buffer) nil) (error err))) nil)
org-babel-execute:emacs-lisp("(condition-case-unless-debug err\n
(with-temp-buffer\n (insert \"(#9=() :key val)\")\n
(pp-buffer)\n nil)\n (error err)))" ((:colname-names)
(:rowname-names) (:result-params "raw" "h" "replace")
(:result-type . value) (:results . "raw h replace") (:exports .
"code") (:session . "none") (:cache . "no") (:noweb . "no")
(:hlines . "no") (:tangle . "no") (:lexical . "no")))
org-babel-execute-src-block(nil ("emacs-lisp"
"(condition-case-unless-debug err\n (with-temp-buffer\n
(insert \"(#9=() :key val)\")\n (pp-buffer)\n nil)\n
(error err)))" ((:colname-names) (:rowname-names)
(:result-params "replace" "h" "raw") (:result-type . value)
(:results . "replace h raw") (:exports . "code") (:lexical .
"no") (:tangle . "no") (:hlines . "no") (:noweb . "no") (:cache
. "no") (:session . "none")) "" nil 47 "(ref:%s)"))
org-ctrl-c-ctrl-c(nil)
funcall-interactively(org-ctrl-c-ctrl-c nil)
call-interactively(org-ctrl-c-ctrl-c nil nil)
command-execute(org-ctrl-c-ctrl-c)
#+end_src
If any additional information would be useful or testing needs to
be done, I'm happy to help. Thank you.
In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit,
cairo version 1.17.3, Xaw3d scroll bars)
of 2020-02-23 built on arch
Repository revision: eb34c108e234c3195ae75f14ec6c5b0964f022ad
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version
11.0.12007000
System Description: Arch Linux
Recent messages:
[mu4e] Indexing completed; processed 1623, updated 0, cleaned-up 0
Auto-saving...done
Mark set
evil-line-move: End of buffer
Mark set [4 times]
evil-line-move: Beginning of buffer [11 times]
Mark set [3 times]
Error in post-command-hook (flyspell-post-command-hook):
(search-failed "
Basics")
user-error: No window right from selected window
evil-line-move: Beginning of buffer
Configured using:
'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
--localstatedir=/var --mandir=/usr/share/man
--with-gameuser=:games
--with-sound=alsa --with-modules --without-gconf
--without-gsettings
--enable-link-time-optimization --with-x-toolkit=lucid --with-xft
--with-xaw3d --without-m17n-flt --with-cairo
--without-compress-install
'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe
-fstack-protector-strong
-fno-plt -g -flto -fuse-linker-plugin -s -fuse-ld=gold'
CPPFLAGS=-D_FORTIFY_SOURCE=2
LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GLIB NOTIFY
INOTIFY ACL GNUTLS LIBXML2 FREETYPE HARFBUZZ LIBOTF ZLIB
TOOLKIT_SCROLL_BARS LUCID X11 XDBE XIM MODULES THREADS LIBSYSTEMD
JSON
PDUMPER LCMS2 GMP
Important settings:
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: Org
Minor modes in effect:
writegood-mode: t
org-better-repeat-mode: t
org-bullets-mode: t
org-fancy-priorities-mode: t
org-indent-mode: t
dimmer-mode: t
global-auto-revert-mode: t
savehist-mode: t
show-paren-mode: t
global-skip-buffers-mode: t
recentf-mode: t
helm-flx-mode: t
helm-mode: t
helm--remap-mouse-mode: t
doom-modeline-mode: t
which-key-mode: t
display-time-mode: t
async-bytecomp-package-mode: t
general-override-mode: t
global-evil-collection-unimpaired-mode: t
evil-collection-unimpaired-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
flyspell-mode: t
shell-dirtrack-mode: t
evil-mode: t
evil-local-mode: t
override-global-mode: t
straight-use-package-mode: t
straight-package-neutering-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
prettify-symbols-mode: t
tab-bar-mode: t
menu-bar-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
line-number-mode: t
transient-mark-mode: (only . t)
Load-path shadows:
/home/n/.emacs.d/straight/build/org-plus-contrib/org-lint hides
/home/n/.emacs.d/straight/build/org/org-lint
/home/n/.emacs.d/straight/build/org-plus-contrib/org-duration
hides /home/n/.emacs.d/straight/build/org/org-duration
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-shell hides
/home/n/.emacs.d/straight/build/org/ob-shell
/home/n/.emacs.d/straight/build/org-plus-contrib/ol-docview hides
/home/n/.emacs.d/straight/build/org/ol-docview
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-exp hides
/home/n/.emacs.d/straight/build/org/ob-exp
/home/n/.emacs.d/straight/build/org-plus-contrib/org-plot hides
/home/n/.emacs.d/straight/build/org/org-plot
/home/n/.emacs.d/straight/build/org-plus-contrib/org-colview hides
/home/n/.emacs.d/straight/build/org/org-colview
/home/n/.emacs.d/straight/build/org-plus-contrib/org-crypt hides
/home/n/.emacs.d/straight/build/org/org-crypt
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-sqlite hides
/home/n/.emacs.d/straight/build/org/ob-sqlite
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-C hides
/home/n/.emacs.d/straight/build/org/ob-C
/home/n/.emacs.d/straight/build/org-plus-contrib/ox-publish hides
/home/n/.emacs.d/straight/build/org/ox-publish
/home/n/.emacs.d/straight/build/org-plus-contrib/ox-html hides
/home/n/.emacs.d/straight/build/org/ox-html
/home/n/.emacs.d/straight/build/org-plus-contrib/org-tempo hides
/home/n/.emacs.d/straight/build/org/org-tempo
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-screen hides
/home/n/.emacs.d/straight/build/org/ob-screen
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-abc hides
/home/n/.emacs.d/straight/build/org/ob-abc
/home/n/.emacs.d/straight/build/org-plus-contrib/org-faces hides
/home/n/.emacs.d/straight/build/org/org-faces
/home/n/.emacs.d/straight/build/org-plus-contrib/org-archive hides
/home/n/.emacs.d/straight/build/org/org-archive
/home/n/.emacs.d/straight/build/org-plus-contrib/ox-icalendar
hides /home/n/.emacs.d/straight/build/org/ox-icalendar
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-matlab hides
/home/n/.emacs.d/straight/build/org/ob-matlab
/home/n/.emacs.d/straight/build/org-plus-contrib/ol-bbdb hides
/home/n/.emacs.d/straight/build/org/ol-bbdb
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-R hides
/home/n/.emacs.d/straight/build/org/ob-R
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-python hides
/home/n/.emacs.d/straight/build/org/ob-python
/home/n/.emacs.d/straight/build/org-plus-contrib/ol-w3m hides
/home/n/.emacs.d/straight/build/org/ol-w3m
/home/n/.emacs.d/straight/build/org-plus-contrib/ol hides
/home/n/.emacs.d/straight/build/org/ol
/home/n/.emacs.d/straight/build/org-plus-contrib/org-pcomplete
hides /home/n/.emacs.d/straight/build/org/org-pcomplete
/home/n/.emacs.d/straight/build/org-plus-contrib/ox-beamer hides
/home/n/.emacs.d/straight/build/org/ox-beamer
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-maxima hides
/home/n/.emacs.d/straight/build/org/ob-maxima
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-css hides
/home/n/.emacs.d/straight/build/org/ob-css
/home/n/.emacs.d/straight/build/org-plus-contrib/ol-eshell hides
/home/n/.emacs.d/straight/build/org/ol-eshell
/home/n/.emacs.d/straight/build/org-plus-contrib/ox-odt hides
/home/n/.emacs.d/straight/build/org/ox-odt
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-ebnf hides
/home/n/.emacs.d/straight/build/org/ob-ebnf
/home/n/.emacs.d/straight/build/org-plus-contrib/org-element hides
/home/n/.emacs.d/straight/build/org/org-element
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-table hides
/home/n/.emacs.d/straight/build/org/ob-table
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-perl hides
/home/n/.emacs.d/straight/build/org/ob-perl
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-dot hides
/home/n/.emacs.d/straight/build/org/ob-dot
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-io hides
/home/n/.emacs.d/straight/build/org/ob-io
/home/n/.emacs.d/straight/build/org-plus-contrib/org-goto hides
/home/n/.emacs.d/straight/build/org/org-goto
/home/n/.emacs.d/straight/build/org-plus-contrib/ol-rmail hides
/home/n/.emacs.d/straight/build/org/ol-rmail
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-eshell hides
/home/n/.emacs.d/straight/build/org/ob-eshell
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-tangle hides
/home/n/.emacs.d/straight/build/org/ob-tangle
/home/n/.emacs.d/straight/build/org-plus-contrib/org-num hides
/home/n/.emacs.d/straight/build/org/org-num
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-mscgen hides
/home/n/.emacs.d/straight/build/org/ob-mscgen
/home/n/.emacs.d/straight/build/org-plus-contrib/ol-info hides
/home/n/.emacs.d/straight/build/org/ol-info
/home/n/.emacs.d/straight/build/org-plus-contrib/org-habit hides
/home/n/.emacs.d/straight/build/org/org-habit
/home/n/.emacs.d/straight/build/org-plus-contrib/ob hides
/home/n/.emacs.d/straight/build/org/ob
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-org hides
/home/n/.emacs.d/straight/build/org/ob-org
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-clojure hides
/home/n/.emacs.d/straight/build/org/ob-clojure
/home/n/.emacs.d/straight/build/org-plus-contrib/ol-eww hides
/home/n/.emacs.d/straight/build/org/ol-eww
/home/n/.emacs.d/straight/build/org-plus-contrib/ol-bibtex hides
/home/n/.emacs.d/straight/build/org/ol-bibtex
/home/n/.emacs.d/straight/build/org-plus-contrib/org-clock hides
/home/n/.emacs.d/straight/build/org/org-clock
/home/n/.emacs.d/straight/build/org-plus-contrib/org-indent hides
/home/n/.emacs.d/straight/build/org/org-indent
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-lua hides
/home/n/.emacs.d/straight/build/org/ob-lua
/home/n/.emacs.d/straight/build/org-plus-contrib/org-macro hides
/home/n/.emacs.d/straight/build/org/org-macro
/home/n/.emacs.d/straight/build/org-plus-contrib/org-attach hides
/home/n/.emacs.d/straight/build/org/org-attach
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-ruby hides
/home/n/.emacs.d/straight/build/org/ob-ruby
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-picolisp hides
/home/n/.emacs.d/straight/build/org/ob-picolisp
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-awk hides
/home/n/.emacs.d/straight/build/org/ob-awk
/home/n/.emacs.d/straight/build/org-plus-contrib/org-src hides
/home/n/.emacs.d/straight/build/org/org-src
/home/n/.emacs.d/straight/build/org-plus-contrib/org-agenda hides
/home/n/.emacs.d/straight/build/org/org-agenda
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-stan hides
/home/n/.emacs.d/straight/build/org/ob-stan
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-ref hides
/home/n/.emacs.d/straight/build/org/ob-ref
/home/n/.emacs.d/straight/build/org-plus-contrib/org-capture hides
/home/n/.emacs.d/straight/build/org/org-capture
/home/n/.emacs.d/straight/build/org-plus-contrib/org-loaddefs
hides /home/n/.emacs.d/straight/build/org/org-loaddefs
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-latex hides
/home/n/.emacs.d/straight/build/org/ob-latex
/home/n/.emacs.d/straight/build/org-plus-contrib/ox-md hides
/home/n/.emacs.d/straight/build/org/ox-md
/home/n/.emacs.d/straight/build/org-plus-contrib/org-keys hides
/home/n/.emacs.d/straight/build/org/org-keys
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-core hides
/home/n/.emacs.d/straight/build/org/ob-core
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-plantuml hides
/home/n/.emacs.d/straight/build/org/ob-plantuml
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-sed hides
/home/n/.emacs.d/straight/build/org/ob-sed
/home/n/.emacs.d/straight/build/org-plus-contrib/org-feed hides
/home/n/.emacs.d/straight/build/org/org-feed
/home/n/.emacs.d/straight/build/org-plus-contrib/org-compat hides
/home/n/.emacs.d/straight/build/org/org-compat
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-js hides
/home/n/.emacs.d/straight/build/org/ob-js
/home/n/.emacs.d/straight/build/org-plus-contrib/ol-irc hides
/home/n/.emacs.d/straight/build/org/ol-irc
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-coq hides
/home/n/.emacs.d/straight/build/org/ob-coq
/home/n/.emacs.d/straight/build/org-plus-contrib/org-list hides
/home/n/.emacs.d/straight/build/org/org-list
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-sql hides
/home/n/.emacs.d/straight/build/org/ob-sql
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-calc hides
/home/n/.emacs.d/straight/build/org/ob-calc
/home/n/.emacs.d/straight/build/org-plus-contrib/org-attach-git
hides /home/n/.emacs.d/straight/build/org/org-attach-git
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-lilypond hides
/home/n/.emacs.d/straight/build/org/ob-lilypond
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-asymptote
hides /home/n/.emacs.d/straight/build/org/ob-asymptote
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-J hides
/home/n/.emacs.d/straight/build/org/ob-J
/home/n/.emacs.d/straight/build/org-plus-contrib/ox-texinfo hides
/home/n/.emacs.d/straight/build/org/ox-texinfo
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-forth hides
/home/n/.emacs.d/straight/build/org/ob-forth
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-scheme hides
/home/n/.emacs.d/straight/build/org/ob-scheme
/home/n/.emacs.d/straight/build/org-plus-contrib/org-id hides
/home/n/.emacs.d/straight/build/org/org-id
/home/n/.emacs.d/straight/build/org-plus-contrib/org-protocol
hides /home/n/.emacs.d/straight/build/org/org-protocol
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-sass hides
/home/n/.emacs.d/straight/build/org/ob-sass
/home/n/.emacs.d/straight/build/org-plus-contrib/org-footnote
hides /home/n/.emacs.d/straight/build/org/org-footnote
/home/n/.emacs.d/straight/build/org-plus-contrib/ox-latex hides
/home/n/.emacs.d/straight/build/org/ox-latex
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-hledger hides
/home/n/.emacs.d/straight/build/org/ob-hledger
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-ditaa hides
/home/n/.emacs.d/straight/build/org/ob-ditaa
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-gnuplot hides
/home/n/.emacs.d/straight/build/org/ob-gnuplot
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-emacs-lisp
hides /home/n/.emacs.d/straight/build/org/ob-emacs-lisp
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-processing
hides /home/n/.emacs.d/straight/build/org/ob-processing
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-makefile hides
/home/n/.emacs.d/straight/build/org/ob-makefile
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-fortran hides
/home/n/.emacs.d/straight/build/org/ob-fortran
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-lob hides
/home/n/.emacs.d/straight/build/org/ob-lob
/home/n/.emacs.d/straight/build/org-plus-contrib/org-ctags hides
/home/n/.emacs.d/straight/build/org/org-ctags
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-shen hides
/home/n/.emacs.d/straight/build/org/ob-shen
/home/n/.emacs.d/straight/build/org-plus-contrib/org-macs hides
/home/n/.emacs.d/straight/build/org/org-macs
/home/n/.emacs.d/straight/build/org-plus-contrib/ol-mhe hides
/home/n/.emacs.d/straight/build/org/ol-mhe
/home/n/.emacs.d/straight/build/org-plus-contrib/ox-man hides
/home/n/.emacs.d/straight/build/org/ox-man
/home/n/.emacs.d/straight/build/org-plus-contrib/ol-gnus hides
/home/n/.emacs.d/straight/build/org/ol-gnus
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-vala hides
/home/n/.emacs.d/straight/build/org/ob-vala
/home/n/.emacs.d/straight/build/org-plus-contrib/org-datetree
hides /home/n/.emacs.d/straight/build/org/org-datetree
/home/n/.emacs.d/straight/build/org-plus-contrib/ox-org hides
/home/n/.emacs.d/straight/build/org/ox-org
/home/n/.emacs.d/straight/build/org-plus-contrib/org hides
/home/n/.emacs.d/straight/build/org/org
/home/n/.emacs.d/straight/build/org-plus-contrib/org-entities
hides /home/n/.emacs.d/straight/build/org/org-entities
/home/n/.emacs.d/straight/build/org-plus-contrib/org-install hides
/home/n/.emacs.d/straight/build/org/org-install
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-comint hides
/home/n/.emacs.d/straight/build/org/ob-comint
/home/n/.emacs.d/straight/build/org-plus-contrib/ox-ascii hides
/home/n/.emacs.d/straight/build/org/ox-ascii
/home/n/.emacs.d/straight/build/org-plus-contrib/org-mouse hides
/home/n/.emacs.d/straight/build/org/org-mouse
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-java hides
/home/n/.emacs.d/straight/build/org/ob-java
/home/n/.emacs.d/straight/build/org-plus-contrib/org-inlinetask
hides /home/n/.emacs.d/straight/build/org/org-inlinetask
/home/n/.emacs.d/straight/build/org-plus-contrib/org-timer hides
/home/n/.emacs.d/straight/build/org/org-timer
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-octave hides
/home/n/.emacs.d/straight/build/org/ob-octave
/home/n/.emacs.d/straight/build/org-plus-contrib/org-refile hides
/home/n/.emacs.d/straight/build/org/org-refile
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-eval hides
/home/n/.emacs.d/straight/build/org/ob-eval
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-groovy hides
/home/n/.emacs.d/straight/build/org/ob-groovy
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-ocaml hides
/home/n/.emacs.d/straight/build/org/ob-ocaml
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-haskell hides
/home/n/.emacs.d/straight/build/org/ob-haskell
/home/n/.emacs.d/straight/build/org-plus-contrib/org-table hides
/home/n/.emacs.d/straight/build/org/org-table
/home/n/.emacs.d/straight/build/org-plus-contrib/ox hides
/home/n/.emacs.d/straight/build/org/ox
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-ledger hides
/home/n/.emacs.d/straight/build/org/ob-ledger
/home/n/.emacs.d/straight/build/org-plus-contrib/ob-lisp hides
/home/n/.emacs.d/straight/build/org/ob-lisp
/home/n/.emacs.d/straight/build/org-plus-contrib/org-mobile hides
/home/n/.emacs.d/straight/build/org/org-mobile
/home/n/.emacs.d/straight/build/mu4e/mu4e-view hides
/usr/share/emacs/site-lisp/mu4e/mu4e-view
/home/n/.emacs.d/straight/build/mu4e/mu4e-actions hides
/usr/share/emacs/site-lisp/mu4e/mu4e-actions
/home/n/.emacs.d/straight/build/mu4e/mu4e-proc hides
/usr/share/emacs/site-lisp/mu4e/mu4e-proc
/home/n/.emacs.d/straight/build/mu4e/mu4e-icalendar hides
/usr/share/emacs/site-lisp/mu4e/mu4e-icalendar
/home/n/.emacs.d/straight/build/mu4e/mu4e-speedbar hides
/usr/share/emacs/site-lisp/mu4e/mu4e-speedbar
/home/n/.emacs.d/straight/build/mu4e/mu4e-main hides
/usr/share/emacs/site-lisp/mu4e/mu4e-main
/home/n/.emacs.d/straight/build/mu4e/mu4e-contrib hides
/usr/share/emacs/site-lisp/mu4e/mu4e-contrib
/home/n/.emacs.d/straight/build/mu4e/mu4e-context hides
/usr/share/emacs/site-lisp/mu4e/mu4e-context
/home/n/.emacs.d/straight/build/mu4e/mu4e-vars hides
/usr/share/emacs/site-lisp/mu4e/mu4e-vars
/home/n/.emacs.d/straight/build/mu4e/mu4e-mark hides
/usr/share/emacs/site-lisp/mu4e/mu4e-mark
/home/n/.emacs.d/straight/build/mu4e/mu4e-message hides
/usr/share/emacs/site-lisp/mu4e/mu4e-message
/home/n/.emacs.d/straight/build/mu4e/mu4e hides
/usr/share/emacs/site-lisp/mu4e/mu4e
/home/n/.emacs.d/straight/build/mu4e/mu4e-org hides
/usr/share/emacs/site-lisp/mu4e/mu4e-org
/home/n/.emacs.d/straight/build/mu4e/mu4e-headers hides
/usr/share/emacs/site-lisp/mu4e/mu4e-headers
/home/n/.emacs.d/straight/build/mu4e/mu4e-draft hides
/usr/share/emacs/site-lisp/mu4e/mu4e-draft
/home/n/.emacs.d/straight/build/mu4e/org-mu4e hides
/usr/share/emacs/site-lisp/mu4e/org-mu4e
/home/n/.emacs.d/straight/build/mu4e/mu4e-utils hides
/usr/share/emacs/site-lisp/mu4e/mu4e-utils
/home/n/.emacs.d/straight/build/mu4e/mu4e-compose hides
/usr/share/emacs/site-lisp/mu4e/mu4e-compose
/home/n/.emacs.d/straight/build/mu4e/mu4e-lists hides
/usr/share/emacs/site-lisp/mu4e/mu4e-lists
/home/n/.emacs.d/straight/build/let-alist/let-alist hides
/usr/share/emacs/28.0.50/lisp/emacs-lisp/let-alist
Features:
(shadow mule-util cal-china lunar solar cal-dst cal-bahai
cal-islam
cal-hebrew holidays hol-loaddefs diary-lib diary-loaddefs emacsbug
stardict-utils helm-flyspell ox-org 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
image-file tramp tramp-loaddefs trampver tramp-integration files-x
tramp-compat ls-lisp ffap parse-time iso8601 js imenu cc-mode
cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs
elfeed-org evil-collection-elfeed elfeed-show elfeed-search shr
svg dom
elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib
url-queue
xml-query evil-anzu anzu org-region-link misearch multi-isearch
org-eldoc org-journal org-crypt cal-iso writegood-mode
org-better-repeat-mode org-bullets org-fancy-priorities org-indent
org-element avl-tree generator disp-table org-habit org-agenda
org-refile mu4e-alert pcase ht alert log4e notifications dbus gntp
evil-collection-mu4e mu4e desktop frameset mu4e-org mu4e-main
mu4e-view
mu4e-headers mu4e-compose mu4e-context mu4e-draft mu4e-actions
rfc2368
mu4e-mark mu4e-message flow-fill mu4e-proc mu4e-utils
evil-collection-doc-view doc-view jka-compr mu4e-lists hl-line
mu4e-vars
message rmc puny rfc822 mml mml-sec evil-collection-epa epa
derived epg
epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies
mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader mu4e-meta 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 time-date
evil-collection-outline noutline outline ob-emacs-lisp ob-core
ob-eval
org-table ol org-keys org-compat org-macs org-loaddefs
evil-collection-calendar cal-menu calendar cal-loaddefs ido
evil-collection-dired dired dired-loaddefs helm-x-files sort
helm-command helm-elisp helm-eval evil-collection-edebug edebug
tabify
miscellany dimmer autorevert filenotify savehist paren
skip-buffers
help-fns radix-tree cl-print evil-collection-debug debug backtrace
find-func vc-mtn vc-hg evil-collection-vc-git vc-git
evil-collection-diff-mode diff-mode vc-bzr vc-src vc-sccs vc-svn
vc-cvs
vc-rcs vc vc-dispatcher project winner flx recentf tree-widget
helm-for-files helm-bookmark helm-adaptive helm-info
evil-collection-bookmark bookmark text-property-search pp
helm-external
helm-net browse-url xml url url-proxy url-privacy url-expand
url-methods
url-history url-cookie url-domsuf url-util url-parse url-vars
mailcap
helm-flx helm-mode evil-collection-helm helm-files helm-buffers
helm-occur helm-tags helm-locate helm-grep helm-regexp format-spec
helm-utils helm-help helm-types helm helm-source eieio-compat
helm-multi-match helm-lib face-remap server
highlight-indent-guides
doom-modeline doom-modeline-segments doom-modeline-env
doom-modeline-core shrink-path rx f s dash ace-window-autoloads
tongle-autoloads zerodark-theme-autoloads yasnippet-autoloads
writegood-mode-autoloads wikinforg-autoloads
evil-collection-which-key
which-key which-key-autoloads vterm-autoloads time mine-theme
stardict-utils-autoloads smtpmail auth-source eieio eieio-core
eieio-loaddefs password-cache json map sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils slime-autoloads
macrostep-autoloads skip-buffers-autoloads shr-color color
rainbow-mode-autoloads pdf-tools-autoloads tablist-autoloads
org-ql-autoloads peg-autoloads ov-autoloads
org-super-agenda-autoloads
ts-autoloads org-region-link-autoloads org-make-toc-autoloads
org-mime-autoloads org-live-preview-autoloads
org-journal-autoloads
org-fancy-priorities-autoloads org-clean-refile-autoloads
org-bullets-autoloads org-better-repeat-mode-autoloads
all-the-icons
all-the-icons-faces data-material data-weathericons data-octicons
data-fileicons data-faicons data-alltheicons memoize
org-plus-contrib-autoloads novice nov-autoloads esxml-autoloads
mu4e-alert-autoloads ht-autoloads alert-autoloads log4e-autoloads
gntp-autoloads mu4e-autoloads miscellany-autoloads
markdown-mode-autoloads magit-autoloads git-commit-autoloads
with-editor-autoloads transient-autoloads link-hint-autoloads
avy-autoloads js2-mode-autoloads hydra lv hydra-autoloads
lv-autoloads
htmlize-autoloads highlight-indent-guides-autoloads
helm-swoop-autoloads
helm-org-rifle-autoloads helm-projectile-autoloads
projectile-autoloads
helm-flyspell-autoloads helm-flx-autoloads flx-autoloads
helm-descbinds-autoloads helm-describe-modes-autoloads helm-config
helm-easymenu async-bytecomp async helm-autoloads
helm-core-autoloads
popup-autoloads async-autoloads fontify-face-autoloads
flyspell-correct-autoloads flycheck-package-autoloads
package-lint-autoloads flycheck-autoloads let-alist-autoloads
pkg-info-autoloads epl-autoloads esup-autoloads
elfeed-org-autoloads
org-autoloads org-version elfeed-autoloads doom-themes-autoloads
doom-modeline-autoloads shrink-path-autoloads f-autoloads
all-the-icons-autoloads memoize-autoloads doct-autoloads
dimmer-autoloads default-text-scale-autoloads
company-tern-autoloads
s-autoloads dash-functional-autoloads dash-autoloads
tern-autoloads
company-autoloads buttercup-autoloads auto-tangle-mode-autoloads
asm-mode afternoon-theme-autoloads general general-autoloads
evil-collection-unimpaired evil-collection-simple
evil-collection-occur
evil-collection-minibuffer evil-collection-info
evil-collection-image
image-mode exif evil-collection-help evil-collection-elisp-mode
evil-collection-custom evil-collection-comint
evil-collection-buff-menu
evil-collection annalist evil-collection-autoloads
annalist-autoloads
anzu-autoloads evil evil-integration undo-tree diff evil-maps
evil-commands reveal flyspell ispell evil-jumps
evil-command-window
evil-types evil-search evil-ex shell pcomplete comint ansi-color
evil-macros evil-repeat evil-states evil-core advice evil-common
windmove thingatpt rect evil-digraphs evil-vars ring edmacro
kmacro
cus-edit cus-start cus-load wid-edit evil-autoloads finder-inf
goto-chg-autoloads undo-tree-autoloads cl-seq use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key easy-mmode use-package-core
use-package-autoloads bind-key-autoloads early-init
straight-autoloads
info cl-extra help-mode easymenu seq byte-opt straight cl-macs gv
cl-loaddefs cl-lib bytecomp byte-compile cconv
keychain-environment
subr-x 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 timer select scroll-bar mouse jit-lock
font-lock
syntax facemenu 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 loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads dbusbind
inotify lcms2 dynamic-setting font-render-setting cairo x-toolkit
x
multi-tty make-network-process emacs)
Memory information:
((conses 16 1690779 1035096)
(symbols 48 46355 13)
(strings 32 558470 44790)
(string-bytes 1 14688181)
(vectors 16 148173)
(vector-slots 8 2121865 1058598)
(floats 8 22663 10467)
(intervals 56 63918 7919)
(buffers 1000 57))
bug-gnu-emacs <at> gnu.org:bug#39805; Package emacs.
(Thu, 27 Feb 2020 01:39:02 GMT) Full text and rfc822 format available.Message #8 received at 39805 <at> debbugs.gnu.org (full text, mbox):
From: Noam Postavsky <npostavs <at> gmail.com> To: No Wayman <iarchivedmywholelife <at> gmail.com> Cc: 39805 <at> debbugs.gnu.org Subject: Re: bug#39805: 28.0.50; scan-sexps (scan_lists) incorrectly parsing circular list Date: Wed, 26 Feb 2020 20:38:12 -0500
# seems to be long standing
found 39805 25.3
tags 39805 + confirmed
quit
No Wayman <iarchivedmywholelife <at> gmail.com> writes:
> While developing a package that utilizes circular lists, I ran
> into a bug when trying to describe-variable
> a variable that contains circular lists. I've hewed it down to the
> following:
>
> ** Minimal Reproducible Case
>
> #+begin_src emacs-lisp :results raw h replace
> (condition-case-unless-debug err
> (with-temp-buffer
> (insert "(#9=() :key val)")
> (pp-buffer)
> nil)
It doesn't fail if the buffer is changed to emacs-lisp-mode before the
pp-buffer call. I guess scan-sexps doesn't handle the #N= correctly
unless the syntax-table has been set for emacs-lisp. I note that
pp-to-string does some setup on its temp buffer, so maybe
describe-variable needs to do that too.
For the record, to reproduce the error from describe-variable, a
slightly less minimal example is needed (because the value must be more
than 68 characters long to trigger pretty printing)
(setq vv '(#1=(a b) :key val #1# :key val :key val :key val :key val))
(describe-variable 'vv)
Noam Postavsky <npostavs <at> gmail.com>
to control <at> debbugs.gnu.org.
(Thu, 27 Feb 2020 01:39:02 GMT) Full text and rfc822 format available.Noam Postavsky <npostavs <at> gmail.com>
to control <at> debbugs.gnu.org.
(Thu, 27 Feb 2020 01:39:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org:bug#39805; Package emacs.
(Thu, 27 Feb 2020 17:23:01 GMT) Full text and rfc822 format available.Message #15 received at 39805 <at> debbugs.gnu.org (full text, mbox):
From: No Wayman <iarchivedmywholelife <at> gmail.com> To: Noam Postavsky <npostavs <at> gmail.com> Cc: 39805 <at> debbugs.gnu.org Subject: Re: bug#39805: 28.0.50; scan-sexps (scan_lists) incorrectly parsing circular list Date: Thu, 27 Feb 2020 12:22:34 -0500
Noam Postavsky <npostavs <at> gmail.com> writes:
> It doesn't fail if the buffer is changed to emacs-lisp-mode
> before the
> pp-buffer call.
In the meantime, I'd like to be able to offer the users of my
package a solution if they hit this bug.
This seems to work for me, but I haven't written much, and am a
bit leery of, elisp advice.
Would you consider this an appropriate workaround?:
(defun workaround/describe-variable-print-bug (original-function
&rest args)
"Put temp buffer in emacs-lisp before ORIGINAL-FUNCTION:
`pp-buffer'.
https://lists.gnu.org/archive/html/emacs-bug-tracker/2020-02/msg00376.html"
(cl-flet ((pp-advice (original-function)
(when (string-prefix-p " *temp"
(buffer-name))
(let ((mm major-mode))
(emacs-lisp-mode)
(funcall original-function)
(funcall mm)))))
(advice-add #'pp-buffer :around #'pp-advice)
(unwind-protect
(progn
(apply original-function args)
nil)
(advice-remove #'pp-buffer #'pp-advice))))
(advice-add #'describe-variable :around
#'workaround/describe-variable-print-bug)
bug-gnu-emacs <at> gnu.org:bug#39805; Package emacs.
(Fri, 28 Feb 2020 02:35:01 GMT) Full text and rfc822 format available.Message #18 received at 39805 <at> debbugs.gnu.org (full text, mbox):
From: Noam Postavsky <npostavs <at> gmail.com> To: No Wayman <iarchivedmywholelife <at> gmail.com> Cc: 39805 <at> debbugs.gnu.org Subject: Re: bug#39805: 28.0.50; scan-sexps (scan_lists) incorrectly parsing circular list Date: Thu, 27 Feb 2020 21:34:07 -0500
[Message part 1 (text/plain, inline)]
retitle 39805 describe-variable fails to print some circular list values # describe-variable only fails starting from 26.1 notfound 39805 25.3 found 39805 26.1 tags 39805 + patch quit For the record, the pp-buffer call in the original report fails in Emacs 25 (and earlier, I assume), but the describe-variable case only fails starting from 26.1, specifically commit 2c18969c81. [1: 2c18969c81]: 2017-03-02 02:08:32 -0500 * lisp/help-fns.el (describe-variable): Use cl-print for the value https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=2c18969c810f338d73beda592ee5af7103132e97 Here is the patch intended for emacs-27:
[0001-Fix-describe-variable-on-values-with-circular-syntax.patch (text/x-diff, inline)]
From 3b0b1b17c59341b12a502c0ea87c6125cc445494 Mon Sep 17 00:00:00 2001
From: Noam Postavsky <npostavs <at> gmail.com>
Date: Thu, 27 Feb 2020 21:09:59 -0500
Subject: [PATCH] Fix describe-variable on values with circular syntax
(Bug#39805)
* lisp/help-fns.el (describe-variable): Set syntax tables before
calling pp-buffer.
---
lisp/help-fns.el | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 0e2ae6b3c3..1be8e0ab08 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -1000,6 +1000,8 @@ describe-variable
(terpri)
(let ((buf (current-buffer)))
(with-temp-buffer
+ (lisp-mode-variables nil)
+ (set-syntax-table emacs-lisp-mode-syntax-table)
(insert print-rep)
(pp-buffer)
(let ((pp-buffer (current-buffer)))
--
2.11.0
[Message part 3 (text/plain, inline)]
No Wayman <iarchivedmywholelife <at> gmail.com> writes:
> In the meantime, I'd like to be able to offer the users of my package
> a solution if they hit this bug. This seems to work for me, but I
> haven't written much, and am a bit leery of, elisp advice. Would you
> consider this an appropriate workaround?:
Mostly yes, but IMO it's kind of over-engineered. I would do just:
(defun workaround/describe-variable-print-bug (original-function &rest args)
"Put temp buffer in emacs-lisp-mode before `pp-buffer'.
https://debbugs.gnu.org/39805#8"
(advice-add #'pp-buffer :before #'emacs-lisp-mode)
(unwind-protect
(apply original-function args)
(advice-remove #'pp-buffer #'emacs-lisp-mode)))
(when (= emacs-major-version 26) ;; Work around Bug#39805.
(advice-add #'describe-variable :around
#'workaround/describe-variable-print-bug))
Noam Postavsky <npostavs <at> gmail.com>
to control <at> debbugs.gnu.org.
(Fri, 28 Feb 2020 02:35:02 GMT) Full text and rfc822 format available.Noam Postavsky <npostavs <at> gmail.com>
to control <at> debbugs.gnu.org.
(Fri, 28 Feb 2020 02:35:02 GMT) Full text and rfc822 format available.Noam Postavsky <npostavs <at> gmail.com>
to control <at> debbugs.gnu.org.
(Fri, 28 Feb 2020 02:35:02 GMT) Full text and rfc822 format available.Noam Postavsky <npostavs <at> gmail.com>
to control <at> debbugs.gnu.org.
(Fri, 28 Feb 2020 02:35:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org:bug#39805; Package emacs.
(Fri, 28 Feb 2020 04:02:02 GMT) Full text and rfc822 format available.Message #29 received at 39805 <at> debbugs.gnu.org (full text, mbox):
From: No Wayman <iarchivedmywholelife <at> gmail.com> To: Noam Postavsky <npostavs <at> gmail.com> Cc: 39805 <at> debbugs.gnu.org, No Wayman <iarchivedmywholelife <at> gmail.com> Subject: Re: bug#39805: 28.0.50; scan-sexps (scan_lists) incorrectly parsing circular list Date: Thu, 27 Feb 2020 23:01:41 -0500
> Mostly yes, but IMO it's kind of over-engineered. I would do > just: > > (defun workaround/describe-variable-print-bug > (original-function &rest args) > "Put temp buffer in emacs-lisp-mode before `pp-buffer'. > https://debbugs.gnu.org/39805#8" > (advice-add #'pp-buffer :before #'emacs-lisp-mode) > (unwind-protect > (apply original-function args) > (advice-remove #'pp-buffer #'emacs-lisp-mode))) > > (when (= emacs-major-version 26) ;; Work around Bug#39805. > (advice-add #'describe-variable :around > #'workaround/describe-variable-print-bug)) I assumed mine was doing a more than it needed to. Thanks again for the patch and the workaround.
bug-gnu-emacs <at> gnu.org:bug#39805; Package emacs.
(Wed, 04 Mar 2020 03:10:01 GMT) Full text and rfc822 format available.Message #32 received at 39805 <at> debbugs.gnu.org (full text, mbox):
From: Noam Postavsky <npostavs <at> gmail.com> To: No Wayman <iarchivedmywholelife <at> gmail.com> Cc: 39805 <at> debbugs.gnu.org Subject: Re: bug#39805: 28.0.50; scan-sexps (scan_lists) incorrectly parsing circular list Date: Tue, 03 Mar 2020 22:09:21 -0500
tags 39805 fixed close 39805 27.1 quit Noam Postavsky <npostavs <at> gmail.com> writes: > Subject: [PATCH] Fix describe-variable on values with circular syntax > (Bug#39805) > > * lisp/help-fns.el (describe-variable): Set syntax tables before > calling pp-buffer. Pushed to emacs-27. [1: 7cafbbe964]: 2020-03-03 22:04:48 -0500 Fix describe-variable on values with circular syntax (Bug#39805) https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=7cafbbe96434ef616abfef364d82f7250bffc1ed
Noam Postavsky <npostavs <at> gmail.com>
to control <at> debbugs.gnu.org.
(Wed, 04 Mar 2020 03:10:02 GMT) Full text and rfc822 format available.Noam Postavsky <npostavs <at> gmail.com>
to control <at> debbugs.gnu.org.
(Wed, 04 Mar 2020 03:10:02 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org.
(Wed, 01 Apr 2020 11:24:04 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.