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
bug-gnu-emacs <at> gnu.org
:bug#55245
; Package emacs
.
(Tue, 03 May 2022 15:09:03 GMT) Full text and rfc822 format available.Reindert-Jan Ekker <info <at> codesensei.nl>
: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
Dmitry Gutov <dgutov <at> yandex.ru>
:Reindert-Jan Ekker <info <at> codesensei.nl>
: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.
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.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.