GNU bug report logs - #39805
describe-variable fails to print some circular list values

Previous Next

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


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#39805; Package emacs. (Wed, 26 Feb 2020 21:50:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to No Wayman <iarchivedmywholelife <at> gmail.com>:
New bug report received and forwarded. Copy sent to 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))




Information forwarded to 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)




bug Marked as found in versions 25.3. Request was from 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.

Added tag(s) confirmed. Request was from 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.

Information forwarded to 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)




Information forwarded to 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))


Changed bug title to 'describe-variable fails to print some circular list values' from '28.0.50; scan-sexps (scan_lists) incorrectly parsing circular list' Request was from 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 No longer marked as found in versions 25.3. Request was from 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 Marked as found in versions 26.1. Request was from 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.

Added tag(s) patch. Request was from 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.

Information forwarded to 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.




Information forwarded to 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




Added tag(s) fixed. Request was from 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.

bug marked as fixed in version 27.1, send any further explanations to 39805 <at> debbugs.gnu.org and No Wayman <iarchivedmywholelife <at> gmail.com> Request was from 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.

bug archived. Request was from 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.

This bug report was last modified 4 years and 40 days ago.

Previous Next


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