GNU bug report logs - #55442
27.2; newsticker-treeview-save uses print prin1-to-string which abbreviates groups based on print-length

Previous Next

Package: emacs;

Reported by: Xavier Capaldi <xcapaldi <at> scribo.biz>

Date: Mon, 16 May 2022 04:37:02 UTC

Severity: normal

Found in version 27.2

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 55442 in the body.
You can then email your comments to 55442 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#55442; Package emacs. (Mon, 16 May 2022 04:37:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Xavier Capaldi <xcapaldi <at> scribo.biz>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 16 May 2022 04:37:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Xavier Capaldi <xcapaldi <at> scribo.biz>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.2; newsticker-treeview-save uses print prin1-to-string which
 abbreviates groups based on print-length
Date: Sun, 15 May 2022 22:12:23 -0400
1. Check the value of ~print-length` (default was 10 for me).
2. Use ~newsticker-add-url~ to add a number of RSS feeds greater than
the value of ~print-length~ (in my real config I use use-package for
this instead of the customize interface).
3. Run ~newsticker-treeview~ . . . it should work and you can fetch the
feeds using 'G'.
4. Press 'q' to quit the treeview.
5. Run ~newsticker-treeview~ again and you'll get an error.

The cause is quite simple:

When you press 'q' (~newsticker-treeview-quit~) it calls
~newsticker-treeview-save~ which saves the feed groups to a file under
the ~newsticker-dir~ named ~groups~. It uses ~prin1-to-string~ to write
the groups. This function uses the ~print-length~ and ~print-level~ to
determine how many elements to print before abbreviating the output with
'...'. In my case, I have more feeds than the value of ~print-length~ so
the feed groups are abbreviated. The next time you run
~newsticker-treeview~, it tries to read from that file but cannot due to
abbreviated output. Now that I know, I can of course modify the values
of ~print-length~ and ~print-depth~ but ideally
~newsticker-treeview-save~ should not depend on those variables to
properly store the feed groups. If that's unavoidable, perhaps it can be
noted in the newsticker documentation which is otherwise great.

It looks like there is a patch for this in the bug report logs (#53638).


In GNU Emacs 27.2 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.24.30, cairo version 1.17.4)
 of 2021-08-07 built on buildvm-x86-29.iad2.fedoraproject.org
Windowing system distributor 'The X.Org Foundation', version 11.0.12014000
System Description: Fedora 34 (Thirty Four)

Recent messages:
Type "q" in help window to restore its previous buffer.
Mark set [5 times]
Entering debugger...
"(\"Feeds\" \"GnuCash\" \"Suckless\" \"Russ Cox\" \"Paul Khuong\" \"Honnef\" \"Protesilaos\" \"Pragmatic Emacs\" \"Null Program\" \"Karthinks\" ...)"
Type "q" in help window to restore previous buffer
C-x C-g is undefined

Quit
Type "q" to restore previous buffer.


Configured using:
 'configure --build=x86_64-redhat-linux-gnu
 --host=x86_64-redhat-linux-gnu --program-prefix=
 --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
 --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
 --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
 --libexecdir=/usr/libexec --localstatedir=/var
 --sharedstatedir=/var/lib --mandir=/usr/share/man
 --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png
 --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3
 --with-gpm=no --with-xwidgets --with-modules --with-harfbuzz
 --with-cairo --with-json build_alias=x86_64-redhat-linux-gnu
 host_alias=x86_64-redhat-linux-gnu CC=gcc 'CFLAGS=-DMAIL_USE_LOCKF -O2
 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches
 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
 -Wp,-D_GLIBCXX_ASSERTIONS
 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
 LDFLAGS=-Wl,-z,relro
 PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY
INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF
ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS XWIDGETS
LIBSYSTEMD JSON PDUMPER GMP

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  pdf-occur-global-minor-mode: t
  minions-mode: t
  pulsar-global-mode: t
  pulsar-mode: t
  editorconfig-mode: t
  marginalia-mode: t
  vertico-mode: t
  override-global-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  shell-dirtrack-mode: t
  el-patch-use-package-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
  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
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/xavier/.config/emacs/straight/build/jsonrpc/jsonrpc hides /usr/share/emacs/27.2/lisp/jsonrpc
/home/xavier/.config/emacs/straight/build/xref/xref hides /usr/share/emacs/27.2/lisp/progmodes/xref
/home/xavier/.config/emacs/straight/build/project/project hides /usr/share/emacs/27.2/lisp/progmodes/project
/home/xavier/.config/emacs/straight/build/flymake/flymake hides /usr/share/emacs/27.2/lisp/progmodes/flymake
/home/xavier/.config/emacs/straight/build/org/ox hides /usr/share/emacs/27.2/lisp/org/ox
/home/xavier/.config/emacs/straight/build/org/ox-texinfo hides /usr/share/emacs/27.2/lisp/org/ox-texinfo
/home/xavier/.config/emacs/straight/build/org/ox-publish hides /usr/share/emacs/27.2/lisp/org/ox-publish
/home/xavier/.config/emacs/straight/build/org/ox-org hides /usr/share/emacs/27.2/lisp/org/ox-org
/home/xavier/.config/emacs/straight/build/org/ox-odt hides /usr/share/emacs/27.2/lisp/org/ox-odt
/home/xavier/.config/emacs/straight/build/org/ox-md hides /usr/share/emacs/27.2/lisp/org/ox-md
/home/xavier/.config/emacs/straight/build/org/ox-man hides /usr/share/emacs/27.2/lisp/org/ox-man
/home/xavier/.config/emacs/straight/build/org/ox-latex hides /usr/share/emacs/27.2/lisp/org/ox-latex
/home/xavier/.config/emacs/straight/build/org/ox-icalendar hides /usr/share/emacs/27.2/lisp/org/ox-icalendar
/home/xavier/.config/emacs/straight/build/org/ox-html hides /usr/share/emacs/27.2/lisp/org/ox-html
/home/xavier/.config/emacs/straight/build/org/ox-beamer hides /usr/share/emacs/27.2/lisp/org/ox-beamer
/home/xavier/.config/emacs/straight/build/org/ox-ascii hides /usr/share/emacs/27.2/lisp/org/ox-ascii
/home/xavier/.config/emacs/straight/build/org/org hides /usr/share/emacs/27.2/lisp/org/org
/home/xavier/.config/emacs/straight/build/org/org-version hides /usr/share/emacs/27.2/lisp/org/org-version
/home/xavier/.config/emacs/straight/build/org/org-timer hides /usr/share/emacs/27.2/lisp/org/org-timer
/home/xavier/.config/emacs/straight/build/org/org-tempo hides /usr/share/emacs/27.2/lisp/org/org-tempo
/home/xavier/.config/emacs/straight/build/org/org-table hides /usr/share/emacs/27.2/lisp/org/org-table
/home/xavier/.config/emacs/straight/build/org/org-src hides /usr/share/emacs/27.2/lisp/org/org-src
/home/xavier/.config/emacs/straight/build/org/org-refile hides /usr/share/emacs/27.2/lisp/org/org-refile
/home/xavier/.config/emacs/straight/build/org/org-protocol hides /usr/share/emacs/27.2/lisp/org/org-protocol
/home/xavier/.config/emacs/straight/build/org/org-plot hides /usr/share/emacs/27.2/lisp/org/org-plot
/home/xavier/.config/emacs/straight/build/org/org-pcomplete hides /usr/share/emacs/27.2/lisp/org/org-pcomplete
/home/xavier/.config/emacs/straight/build/org/org-num hides /usr/share/emacs/27.2/lisp/org/org-num
/home/xavier/.config/emacs/straight/build/org/org-mouse hides /usr/share/emacs/27.2/lisp/org/org-mouse
/home/xavier/.config/emacs/straight/build/org/org-mobile hides /usr/share/emacs/27.2/lisp/org/org-mobile
/home/xavier/.config/emacs/straight/build/org/org-macs hides /usr/share/emacs/27.2/lisp/org/org-macs
/home/xavier/.config/emacs/straight/build/org/org-macro hides /usr/share/emacs/27.2/lisp/org/org-macro
/home/xavier/.config/emacs/straight/build/org/org-loaddefs hides /usr/share/emacs/27.2/lisp/org/org-loaddefs
/home/xavier/.config/emacs/straight/build/org/org-list hides /usr/share/emacs/27.2/lisp/org/org-list
/home/xavier/.config/emacs/straight/build/org/org-lint hides /usr/share/emacs/27.2/lisp/org/org-lint
/home/xavier/.config/emacs/straight/build/org/org-keys hides /usr/share/emacs/27.2/lisp/org/org-keys
/home/xavier/.config/emacs/straight/build/org/org-install hides /usr/share/emacs/27.2/lisp/org/org-install
/home/xavier/.config/emacs/straight/build/org/org-inlinetask hides /usr/share/emacs/27.2/lisp/org/org-inlinetask
/home/xavier/.config/emacs/straight/build/org/org-indent hides /usr/share/emacs/27.2/lisp/org/org-indent
/home/xavier/.config/emacs/straight/build/org/org-id hides /usr/share/emacs/27.2/lisp/org/org-id
/home/xavier/.config/emacs/straight/build/org/org-habit hides /usr/share/emacs/27.2/lisp/org/org-habit
/home/xavier/.config/emacs/straight/build/org/org-goto hides /usr/share/emacs/27.2/lisp/org/org-goto
/home/xavier/.config/emacs/straight/build/org/org-footnote hides /usr/share/emacs/27.2/lisp/org/org-footnote
/home/xavier/.config/emacs/straight/build/org/org-feed hides /usr/share/emacs/27.2/lisp/org/org-feed
/home/xavier/.config/emacs/straight/build/org/org-faces hides /usr/share/emacs/27.2/lisp/org/org-faces
/home/xavier/.config/emacs/straight/build/org/org-entities hides /usr/share/emacs/27.2/lisp/org/org-entities
/home/xavier/.config/emacs/straight/build/org/org-element hides /usr/share/emacs/27.2/lisp/org/org-element
/home/xavier/.config/emacs/straight/build/org/org-duration hides /usr/share/emacs/27.2/lisp/org/org-duration
/home/xavier/.config/emacs/straight/build/org/org-datetree hides /usr/share/emacs/27.2/lisp/org/org-datetree
/home/xavier/.config/emacs/straight/build/org/org-ctags hides /usr/share/emacs/27.2/lisp/org/org-ctags
/home/xavier/.config/emacs/straight/build/org/org-crypt hides /usr/share/emacs/27.2/lisp/org/org-crypt
/home/xavier/.config/emacs/straight/build/org/org-compat hides /usr/share/emacs/27.2/lisp/org/org-compat
/home/xavier/.config/emacs/straight/build/org/org-colview hides /usr/share/emacs/27.2/lisp/org/org-colview
/home/xavier/.config/emacs/straight/build/org/org-clock hides /usr/share/emacs/27.2/lisp/org/org-clock
/home/xavier/.config/emacs/straight/build/org/org-capture hides /usr/share/emacs/27.2/lisp/org/org-capture
/home/xavier/.config/emacs/straight/build/org/org-attach hides /usr/share/emacs/27.2/lisp/org/org-attach
/home/xavier/.config/emacs/straight/build/org/org-attach-git hides /usr/share/emacs/27.2/lisp/org/org-attach-git
/home/xavier/.config/emacs/straight/build/org/org-archive hides /usr/share/emacs/27.2/lisp/org/org-archive
/home/xavier/.config/emacs/straight/build/org/org-agenda hides /usr/share/emacs/27.2/lisp/org/org-agenda
/home/xavier/.config/emacs/straight/build/org/ol hides /usr/share/emacs/27.2/lisp/org/ol
/home/xavier/.config/emacs/straight/build/org/ol-w3m hides /usr/share/emacs/27.2/lisp/org/ol-w3m
/home/xavier/.config/emacs/straight/build/org/ol-rmail hides /usr/share/emacs/27.2/lisp/org/ol-rmail
/home/xavier/.config/emacs/straight/build/org/ol-mhe hides /usr/share/emacs/27.2/lisp/org/ol-mhe
/home/xavier/.config/emacs/straight/build/org/ol-irc hides /usr/share/emacs/27.2/lisp/org/ol-irc
/home/xavier/.config/emacs/straight/build/org/ol-info hides /usr/share/emacs/27.2/lisp/org/ol-info
/home/xavier/.config/emacs/straight/build/org/ol-gnus hides /usr/share/emacs/27.2/lisp/org/ol-gnus
/home/xavier/.config/emacs/straight/build/org/ol-eww hides /usr/share/emacs/27.2/lisp/org/ol-eww
/home/xavier/.config/emacs/straight/build/org/ol-eshell hides /usr/share/emacs/27.2/lisp/org/ol-eshell
/home/xavier/.config/emacs/straight/build/org/ol-docview hides /usr/share/emacs/27.2/lisp/org/ol-docview
/home/xavier/.config/emacs/straight/build/org/ol-bibtex hides /usr/share/emacs/27.2/lisp/org/ol-bibtex
/home/xavier/.config/emacs/straight/build/org/ol-bbdb hides /usr/share/emacs/27.2/lisp/org/ol-bbdb
/home/xavier/.config/emacs/straight/build/org/ob hides /usr/share/emacs/27.2/lisp/org/ob
/home/xavier/.config/emacs/straight/build/org/ob-tangle hides /usr/share/emacs/27.2/lisp/org/ob-tangle
/home/xavier/.config/emacs/straight/build/org/ob-table hides /usr/share/emacs/27.2/lisp/org/ob-table
/home/xavier/.config/emacs/straight/build/org/ob-sqlite hides /usr/share/emacs/27.2/lisp/org/ob-sqlite
/home/xavier/.config/emacs/straight/build/org/ob-sql hides /usr/share/emacs/27.2/lisp/org/ob-sql
/home/xavier/.config/emacs/straight/build/org/ob-shell hides /usr/share/emacs/27.2/lisp/org/ob-shell
/home/xavier/.config/emacs/straight/build/org/ob-sed hides /usr/share/emacs/27.2/lisp/org/ob-sed
/home/xavier/.config/emacs/straight/build/org/ob-screen hides /usr/share/emacs/27.2/lisp/org/ob-screen
/home/xavier/.config/emacs/straight/build/org/ob-scheme hides /usr/share/emacs/27.2/lisp/org/ob-scheme
/home/xavier/.config/emacs/straight/build/org/ob-sass hides /usr/share/emacs/27.2/lisp/org/ob-sass
/home/xavier/.config/emacs/straight/build/org/ob-ruby hides /usr/share/emacs/27.2/lisp/org/ob-ruby
/home/xavier/.config/emacs/straight/build/org/ob-ref hides /usr/share/emacs/27.2/lisp/org/ob-ref
/home/xavier/.config/emacs/straight/build/org/ob-python hides /usr/share/emacs/27.2/lisp/org/ob-python
/home/xavier/.config/emacs/straight/build/org/ob-processing hides /usr/share/emacs/27.2/lisp/org/ob-processing
/home/xavier/.config/emacs/straight/build/org/ob-plantuml hides /usr/share/emacs/27.2/lisp/org/ob-plantuml
/home/xavier/.config/emacs/straight/build/org/ob-perl hides /usr/share/emacs/27.2/lisp/org/ob-perl
/home/xavier/.config/emacs/straight/build/org/ob-org hides /usr/share/emacs/27.2/lisp/org/ob-org
/home/xavier/.config/emacs/straight/build/org/ob-octave hides /usr/share/emacs/27.2/lisp/org/ob-octave
/home/xavier/.config/emacs/straight/build/org/ob-ocaml hides /usr/share/emacs/27.2/lisp/org/ob-ocaml
/home/xavier/.config/emacs/straight/build/org/ob-maxima hides /usr/share/emacs/27.2/lisp/org/ob-maxima
/home/xavier/.config/emacs/straight/build/org/ob-matlab hides /usr/share/emacs/27.2/lisp/org/ob-matlab
/home/xavier/.config/emacs/straight/build/org/ob-makefile hides /usr/share/emacs/27.2/lisp/org/ob-makefile
/home/xavier/.config/emacs/straight/build/org/ob-lua hides /usr/share/emacs/27.2/lisp/org/ob-lua
/home/xavier/.config/emacs/straight/build/org/ob-lob hides /usr/share/emacs/27.2/lisp/org/ob-lob
/home/xavier/.config/emacs/straight/build/org/ob-lisp hides /usr/share/emacs/27.2/lisp/org/ob-lisp
/home/xavier/.config/emacs/straight/build/org/ob-lilypond hides /usr/share/emacs/27.2/lisp/org/ob-lilypond
/home/xavier/.config/emacs/straight/build/org/ob-latex hides /usr/share/emacs/27.2/lisp/org/ob-latex
/home/xavier/.config/emacs/straight/build/org/ob-js hides /usr/share/emacs/27.2/lisp/org/ob-js
/home/xavier/.config/emacs/straight/build/org/ob-java hides /usr/share/emacs/27.2/lisp/org/ob-java
/home/xavier/.config/emacs/straight/build/org/ob-haskell hides /usr/share/emacs/27.2/lisp/org/ob-haskell
/home/xavier/.config/emacs/straight/build/org/ob-groovy hides /usr/share/emacs/27.2/lisp/org/ob-groovy
/home/xavier/.config/emacs/straight/build/org/ob-gnuplot hides /usr/share/emacs/27.2/lisp/org/ob-gnuplot
/home/xavier/.config/emacs/straight/build/org/ob-fortran hides /usr/share/emacs/27.2/lisp/org/ob-fortran
/home/xavier/.config/emacs/straight/build/org/ob-forth hides /usr/share/emacs/27.2/lisp/org/ob-forth
/home/xavier/.config/emacs/straight/build/org/ob-exp hides /usr/share/emacs/27.2/lisp/org/ob-exp
/home/xavier/.config/emacs/straight/build/org/ob-eval hides /usr/share/emacs/27.2/lisp/org/ob-eval
/home/xavier/.config/emacs/straight/build/org/ob-eshell hides /usr/share/emacs/27.2/lisp/org/ob-eshell
/home/xavier/.config/emacs/straight/build/org/ob-emacs-lisp hides /usr/share/emacs/27.2/lisp/org/ob-emacs-lisp
/home/xavier/.config/emacs/straight/build/org/ob-dot hides /usr/share/emacs/27.2/lisp/org/ob-dot
/home/xavier/.config/emacs/straight/build/org/ob-ditaa hides /usr/share/emacs/27.2/lisp/org/ob-ditaa
/home/xavier/.config/emacs/straight/build/org/ob-css hides /usr/share/emacs/27.2/lisp/org/ob-css
/home/xavier/.config/emacs/straight/build/org/ob-core hides /usr/share/emacs/27.2/lisp/org/ob-core
/home/xavier/.config/emacs/straight/build/org/ob-comint hides /usr/share/emacs/27.2/lisp/org/ob-comint
/home/xavier/.config/emacs/straight/build/org/ob-clojure hides /usr/share/emacs/27.2/lisp/org/ob-clojure
/home/xavier/.config/emacs/straight/build/org/ob-calc hides /usr/share/emacs/27.2/lisp/org/ob-calc
/home/xavier/.config/emacs/straight/build/org/ob-awk hides /usr/share/emacs/27.2/lisp/org/ob-awk
/home/xavier/.config/emacs/straight/build/org/ob-R hides /usr/share/emacs/27.2/lisp/org/ob-R
/home/xavier/.config/emacs/straight/build/org/ob-C hides /usr/share/emacs/27.2/lisp/org/ob-C
/home/xavier/.config/emacs/straight/build/let-alist/let-alist hides /usr/share/emacs/27.2/lisp/emacs-lisp/let-alist
/home/xavier/.config/emacs/straight/build/eldoc/eldoc hides /usr/share/emacs/27.2/lisp/emacs-lisp/eldoc

Features:
(shadow sort gnus-alias mail-extr emacsbug sendmail debug backtrace lpr
cl-print ...)

Memory information:
((conses 16 604259 96853)
 (symbols 48 38572 1)
 (strings 32 158869 2951)
 (string-bytes 1 7601314)
 (vectors 16 59146)
 (vector-slots 8 688588 52968)
 (floats 8 462 542)
 (intervals 56 4297 1421)
 (buffers 1000 92))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55442; Package emacs. (Mon, 16 May 2022 12:07:02 GMT) Full text and rfc822 format available.

Message #8 received at 55442 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Xavier Capaldi <xcapaldi <at> scribo.biz>
Cc: 55442 <at> debbugs.gnu.org
Subject: Re: bug#55442: 27.2; newsticker-treeview-save uses print
 prin1-to-string which abbreviates groups based on print-length
Date: Mon, 16 May 2022 14:06:11 +0200
Xavier Capaldi <xcapaldi <at> scribo.biz> writes:

> It looks like there is a patch for this in the bug report logs (#53638).

I've applied the changes in that patch to Emacs 29, so I guess there
isn't more to do here, and I'm therefore closing this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug marked as fixed in version 29.1, send any further explanations to 55442 <at> debbugs.gnu.org and Xavier Capaldi <xcapaldi <at> scribo.biz> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Mon, 16 May 2022 12:07: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. (Tue, 14 Jun 2022 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 310 days ago.

Previous Next


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