GNU bug report logs - #55245
28.1; project--read-project-buffer predicate fails with wrong-type-argument listp

Previous Next

Package: emacs;

Reported by: Reindert-Jan Ekker <info <at> codesensei.nl>

Date: Tue, 3 May 2022 15:09:02 UTC

Severity: normal

Found in version 28.1

Done: Dmitry Gutov <dgutov <at> yandex.ru>

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 55245 in the body.
You can then email your comments to 55245 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#55245; Package emacs. (Tue, 03 May 2022 15:09:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Reindert-Jan Ekker <info <at> codesensei.nl>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 03 May 2022 15:09:03 GMT) Full text and rfc822 format available.

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

From: Reindert-Jan Ekker <info <at> codesensei.nl>
To: bug-gnu-emacs <at> gnu.org
Subject: 28.1; project--read-project-buffer predicate fails with
 wrong-type-argument listp
Date: Tue, 03 May 2022 14:01:05 +0200
I encountered this bug because I use helm. After the following:

(require 'helm)
(require 'helm-config)
(helm-mode 1)

the command project-switch-to-buffer always fails with "wrong type
argument listp". I posted this as a helm issue at first and got the
following answer (quoting from
https://github.com/emacs-helm/helm/issues/2506):

The bug is not helm related, it is a bug in project--read-project-buffer
(and possibly other functions which use the same predicate?), where its
predicate expect a cons cell like (bufname . buf_object) and when the
first call of the predicate used to determine default for read-buffer
returns a buffer-name, this one is called next by the predicate function
of read-buffer (which use the same predicate) with a buffer-name as
argument instead of a cons cell hence the error "wrong type argument
listp". Here a possible (quick) fix (not fully safe as it should check
if buffer is a string or a buffer or nil):

(defun project--read-project-buffer ()
      (let* ((pr (project-current t))
             (current-buffer (current-buffer))
             (other-buffer (other-buffer current-buffer))
             (other-name (buffer-name other-buffer))
             (buffers (project-buffers pr))
             (predicate
              (lambda (buffer)
                ;; BUFFER is an entry (BUF-NAME . BUF-OBJ) of Vbuffer_alist.
                (if (consp buffer)
                    (memq (cdr buffer) buffers)
                  (memq (get-buffer buffer) buffers)))))
        (read-buffer
         "Switch to buffer: "
         (when (funcall predicate (cons other-name other-buffer))
           other-name)
         nil
         predicate)))



In GNU Emacs 28.1 (build 2, aarch64-apple-darwin20.6.0, NS appkit-2022.60 Version 11.5.2 (Build 20G95))
 of 2022-05-01 built on CodeSensei-MacBook-Air.local
Windowing system distributor 'Apple', version 10.3.2022
System Description:  macOS 11.5.2

Configured using:
 'configure --disable-dependency-tracking --disable-silent-rules
 --enable-locallisppath=/opt/homebrew/share/emacs/site-lisp
 --infodir=/opt/homebrew/Cellar/emacs-plus <at> 28/28.1/share/info/emacs
 --prefix=/opt/homebrew/Cellar/emacs-plus <at> 28/28.1 --with-xml2
 --with-gnutls --with-native-compilation --without-dbus
 --without-imagemagick --with-modules --with-rsvg --with-ns
 --disable-ns-self-contained 'CFLAGS=-I/opt/homebrew/opt/gcc/include
 -I/opt/homebrew/opt/libgccjit/include -I/opt/homebrew/opt/gmp/include
 -I/opt/homebrew/opt/jpeg/include' 'LDFLAGS=-L/opt/homebrew/lib/gcc/11
 -I/opt/homebrew/opt/gcc/include -I/opt/homebrew/opt/libgccjit/include
 -I/opt/homebrew/opt/gmp/include -I/opt/homebrew/opt/jpeg/include''

Configured features:
ACL GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS XIM
ZLIB

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

Major mode: elisp

Minor modes in effect:
  edebug-mode: t
  helm-mode: t
  helm-minibuffer-history-mode: t
  helm--remap-mouse-mode: t
  async-bytecomp-package-mode: t
  rainbow-delimiters-mode: t
  which-key-mode: t
  super-save-mode: t
  recentf-mode: t
  savehist-mode: t
  save-place-mode: t
  global-diff-hl-mode: t
  diff-hl-mode: t
  global-anzu-mode: t
  anzu-mode: t
  volatile-highlights-mode: t
  windmove-mode: t
  global-flycheck-mode: t
  flycheck-mode: t
  global-company-mode: t
  company-mode: t
  global-hl-line-mode: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  smartparens-strict-mode: t
  smartparens-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  override-global-mode: t
  magit-wip-initial-backup-mode: t
  magit-wip-before-change-mode: t
  magit-wip-after-apply-mode: t
  magit-wip-after-save-mode: t
  magit-wip-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  global-auto-revert-mode: t
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-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
  buffer-read-only: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
~/.emacs.d/rje/custom hides /opt/homebrew/Cellar/emacs-plus <at> 28/28.1/share/emacs/28.1/lisp/custom
/Users/reindert/.emacs.d/elpa/transient-20220425.1314/transient hides /opt/homebrew/Cellar/emacs-plus <at> 28/28.1/share/emacs/28.1/lisp/transient

Features:
(shadow pulse bug-reference helm-config helm-projectile vc-mtn vc-hg
vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs cl-print debug ace-window avy
goto-addr view emacsbug eieio-opt speedbar ezimage dframe shortdoc
help-fns radix-tree tabify man helm-command helm-elisp helm-eval edebug
backtrace helm-mode helm-misc gnutls epa-file network-stream nsm
mailalias sort gnus-cite mail-extr qp vc-git winner tramp-archive
tramp-gvfs helm-x-files helm-for-files helm-bookmark helm-adaptive
helm-info bookmark pp helm-external helm-net helm-files image-dired
helm-tags helm-locate helm-buffers helm-occur helm-grep helm-regexp
helm-utils helm-help helm-types helm helm-core async-bytecomp
helm-global-bindings helm-easymenu helm-source helm-multi-match helm-lib
async rainbow-delimiters course course-ui course-server course-publish
course-backend course-topic-link course-meta course-log course-projects
course-deps publish-course yasnippet projectile lisp-mnt grep compile
ibuf-ext ibuffer ibuffer-loaddefs ox-reveal 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 htmlize exec-path-from-shell midnight which-key flyspell
ispell sane-term dired-x rje-savefiles super-save recentf tree-widget
savehist saveplace rje-looks dimmer face-remap color diff-hl log-view
vc-dir ewoc vc vc-dispatcher anzu volatile-highlights whitespace
diminish rje-move move-text windmove rje-keys rje-windows
rje-programming flycheck hl-todo rje-company company-oddmuse
company-keywords company-etags etags fileloop xref project company-gtags
company-dabbrev-code company-dabbrev company-files company-clang
company-capf company-cmake company-semantic company-template
company-bbdb company pcase rje-pass password-store auth-source-pass
rje-agenda org-agenda rje-theme org-element avl-tree generator ol-w3m
org-inlinetask ol-info ol-eww eww xdg url-queue mm-url ol-doi
org-link-doi ol-docview org-ctags org-crypt deeper-blue-theme rje-mail
org-mu4e mu4e mu4e-org mu4e-main mu4e-view mu4e-view-gnus gnus-art mm-uu
mml2015 mm-view mml-smime smime dig gnus-sum gnus-group gnus-undo
gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7
netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader wid-edit
mu4e-view-common mu4e-headers mu4e-compose mu4e-context mu4e-draft
mu4e-actions ido rfc2368 smtpmail sendmail mu4e-mark mu4e-proc
mu4e-utils doc-view jka-compr image-mode exif mu4e-lists mu4e-message
shr kinsoku svg xml dom flow-fill hl-line mu4e-vars mu4e-meta f s
rje-edit zop-to-char sudo-edit smartparens-config smartparens-org
smartparens-text smartparens-python smartparens thingatpt
browse-kill-ring undo-tree queue rje-org org-tempo tempo org-id
org-refile org org-macro org-footnote org-pcomplete org-list org-faces
org-entities noutline outline org-version ob-emacs-lisp ob-plantuml
ob-ditaa ob-python python tramp-sh tramp tramp-loaddefs trampver
tramp-integration files-x tramp-compat parse-time ls-lisp ob-shell ob
ob-tangle org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-core
ob-eval org-table oc-basic bibtex iso8601 ol org-keys oc org-compat
advice org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs
use-package use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key use-package-core rje-packages epl
finder-inf magit-wip magit-log which-func imenu magit-diff smerge-mode
diff diff-mode git-commit log-edit easy-mmode message rmc puny dired
dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config
gnus-util rmail rmail-loaddefs text-property-search time-date mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader
pcvs-util add-log magit-core magit-autorevert autorevert filenotify
magit-margin magit-transient magit-process with-editor shell pcomplete
comint ring server ansi-color magit-mode transient comp comp-cstr
warnings cl-extra edmacro kmacro help-mode magit-git magit-base
magit-section format-spec crm dash compat-27 compat-26 compat delsel
cus-load rx info package browse-url url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util mailcap
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv
bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc
paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode
mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer 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 emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads kqueue
cocoa ns lcms2 multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 1061008 99689)
  (symbols 48 62100 17)
  (strings 32 253698 9988)
  (string-bytes 1 8470187)
  (vectors 16 110269)
  (vector-slots 8 2374615 163638)
  (floats 8 672 364)
  (intervals 56 36959 1700)
  (buffers 992 47))

-- 
Reindert-Jan Ekker
Code Sensei




Reply sent to Dmitry Gutov <dgutov <at> yandex.ru>:
You have taken responsibility. (Wed, 04 May 2022 10:46:01 GMT) Full text and rfc822 format available.

Notification sent to Reindert-Jan Ekker <info <at> codesensei.nl>:
bug acknowledged by developer. (Wed, 04 May 2022 10:46:01 GMT) Full text and rfc822 format available.

Message #10 received at 55245-done <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Reindert-Jan Ekker <info <at> codesensei.nl>, 55245-done <at> debbugs.gnu.org
Subject: Re: bug#55245: 28.1; project--read-project-buffer predicate fails
 with wrong-type-argument listp
Date: Wed, 4 May 2022 13:45:02 +0300
On 03.05.2022 15:01, Reindert-Jan Ekker wrote:
> 
> I encountered this bug because I use helm. After the following:
> 
> (require 'helm)
> (require 'helm-config)
> (helm-mode 1)
> 
> the command project-switch-to-buffer always fails with "wrong type
> argument listp". I posted this as a helm issue at first and got the
> following answer (quoting from
> https://github.com/emacs-helm/helm/issues/2506):
> 
> The bug is not helm related, it is a bug in project--read-project-buffer
> (and possibly other functions which use the same predicate?), where its
> predicate expect a cons cell like (bufname . buf_object) and when the
> first call of the predicate used to determine default for read-buffer
> returns a buffer-name, this one is called next by the predicate function
> of read-buffer (which use the same predicate) with a buffer-name as
> argument instead of a cons cell hence the error "wrong type argument
> listp". Here a possible (quick) fix (not fully safe as it should check
> if buffer is a string or a buffer or nil):

Thanks for the report.

Looks like we got it fixed in Helm.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 01 Jun 2022 11:24:06 GMT) Full text and rfc822 format available.

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

Previous Next


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