GNU bug report logs - #79719
Compilation of emacs-projectile sporadically fails

Previous Next

Package: guix;

Reported by: Tomas Volf <~@wolfsden.cz>

Date: Wed, 29 Oct 2025 19:46:02 UTC

Severity: normal

To reply to this bug, email your comments to 79719 AT debbugs.gnu.org.

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-guix <at> gnu.org:
bug#79719; Package guix. (Wed, 29 Oct 2025 19:46:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tomas Volf <~@wolfsden.cz>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Wed, 29 Oct 2025 19:46:02 GMT) Full text and rfc822 format available.

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

From: Tomas Volf <~@wolfsden.cz>
To: bug-guix <at> gnu.org
Subject: Compilation of emacs-projectile sporadically fails
Date: Wed, 29 Oct 2025 20:45:10 +0100
Hello,

compilation of emacs-projectile sometimes fails.  Does not happen
always, so there is some randomness involved.  The failing test is the
same every time tough.  This command can be used to reproduce:

    guix time-machine -q --commit 09fdd226389290d1e6f02b49c91fe68f3d85bee2 -- build --no-grafts --check --rounds=25 --with-input=emacs-minimal=emacs emacs-projectile

The error is:

--8<---------------cut here---------------start------------->8---
========================================
projectile-switch-project-by-name calls the switch project action with project-to-switch's dir-locals loaded

Traceback (most recent call last):
  (let ((foo 'bar) (switch-project-foo) (safe-local-variable-values '((foo ....
  (let ((sandbox (expand-file-name (convert-standard-filename "test/sandbox/...
  (let ((default-directory sandbox)) (progn (make-directory "project/" t) (l...
  (progn (make-directory "project/" t) (let ((dir (file-name-directory "proj...
  projectile-switch-project-by-name("/tmp/guix-build-emacs-projectile-2.9.1....
  (let ((switch-project-action (if arg 'projectile-commander projectile-swit...
  (let* ((default-directory project-to-switch) (switched-buffer (let ((temp-...
  (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffe...
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (hack...
  (unwind-protect (progn (hack-dir-local-variables-non-file-buffer) (let ((p...
  (progn (hack-dir-local-variables-non-file-buffer) (let ((projectile-projec...
  (let ((projectile-project-name (funcall projectile-project-name-function p...
  funcall(#[nil ((setq switch-project-foo foo)) (t)])
  #[nil ((setq switch-project-foo foo)) (t)]()
  (setq switch-project-foo foo)
error: (void-variable foo)

Ran 196 specs, 1 failed, in 618.79ms.
buttercup-run failed: ""
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "buttercup" arguments: ("-L" ".") exit-status: 255 term-signal: #f stop-signal: #f> 
phase `check' failed after 0.8 seconds
command "buttercup" "-L" "." failed with status 255
--8<---------------cut here---------------end--------------->8---

The complete build log is:

--8<---------------cut here---------------start------------->8---
starting phase `separate-from-pid1'
build process now running as PID 18
phase `separate-from-pid1' succeeded after 0.0 seconds
starting phase `set-SOURCE-DATE-EPOCH'
phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds
starting phase `set-paths'
environment variable `PATH' set to `/gnu/store/cqa5y368y6lnrrz5klbqlmpcxd0zhz6v-emacs-30.2/bin:/gnu/store/d9d9hy6bzqwwnl0sixhrl7a3yi1rvqz2-emacs-buttercup-1.38/bin:/gnu/store/x5nk7jclncdrrsjhpmjjfl2z9p36bxyw-tar-1.35/bin:/gnu/store/vcmbby8alqahhhd5qnidpf5pbvr102jl-gzip-1.14/bin:/gnu/store/j2bib9ysq7f3369gjg6hv1kp24g07472-bzip2-1.0.8/bin:/gnu/store/plifc9akxxfyjjbnh10dj350nxbhc399-file-5.46/bin:/gnu/store/d7q1jypzi0hjx0gf2034yzljvapy7fvy-diffutils-3.12/bin:/gnu/store/3yky2jh15qsknnxnzplhj4by14sqmfig-patch-2.7.6/bin:/gnu/store/nfs39m8hsbx905q5kgjiw1irfrllkk00-findutils-4.10.0/bin:/gnu/store/xmqvvby6vlmhbi3q913ck5marh6p86av-gawk-5.3.0/bin:/gnu/store/d4bzgx28m0640plahv0x3h5hxlh1npnj-zstd-1.5.6/bin:/gnu/store/5a3p82yj9nrj6rhk11f7b2sb84wirc2k-sed-4.9/bin:/gnu/store/1lkl6hik16bbhpjjsl825fivp2dsr9vi-grep-3.11/bin:/gnu/store/gd41pn8r5723cyd6d79q9riqjbi070zz-xz-5.4.5/bin:/gnu/store/pai3hvsiihllqi03b2198qi5qq9a28ga-coreutils-9.1/bin:/gnu/store/jkxm9drwlxkmb53zn1sd7w2wxdvpbj32-make-4.4.1/bin:/gnu/store/k66i68s5l93n1lgxp29vn2292nsywp1v-bash-minimal-5.2.37/bin:/gnu/store/pazcfyngzb35khc8ad33dmsb22ibnl80-ld-wrapper-0/bin:/gnu/store/c8mp7qq5az7cbnvmxgj2bjkscsf5h9ri-binutils-2.44/bin:/gnu/store/wssvk5s5akbx78kx92bdkirrry87jvbj-gcc-14.3.0/bin:/gnu/store/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41/bin:/gnu/store/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41/sbin'
environment variable `EMACSLOADPATH' set to `/gnu/store/cqa5y368y6lnrrz5klbqlmpcxd0zhz6v-emacs-30.2/share/emacs/site-lisp:/gnu/store/d9d9hy6bzqwwnl0sixhrl7a3yi1rvqz2-emacs-buttercup-1.38/share/emacs/site-lisp:/gnu/store/fgziw48zffghq6nlir9c6cjwrkwas30s-emacs-dash-2.20.0/share/emacs/site-lisp:/gnu/store/x1g184gvjki184ryh3mvc92gy5l0q3bl-emacs-pkg-info-0.6/share/emacs/site-lisp:/gnu/store/x3nq7fmr39cdh7d5ijpccyb1zcw6z5my-emacs-epl-0.9/share/emacs/site-lisp'
environment variable `EMACSNATIVELOADPATH' set to `/gnu/store/d9d9hy6bzqwwnl0sixhrl7a3yi1rvqz2-emacs-buttercup-1.38/lib/emacs/native-site-lisp:/gnu/store/fgziw48zffghq6nlir9c6cjwrkwas30s-emacs-dash-2.20.0/lib/emacs/native-site-lisp:/gnu/store/x1g184gvjki184ryh3mvc92gy5l0q3bl-emacs-pkg-info-0.6/lib/emacs/native-site-lisp:/gnu/store/x3nq7fmr39cdh7d5ijpccyb1zcw6z5my-emacs-epl-0.9/lib/emacs/native-site-lisp'
environment variable `INFOPATH' set to `/gnu/store/cqa5y368y6lnrrz5klbqlmpcxd0zhz6v-emacs-30.2/share/info:/gnu/store/x5nk7jclncdrrsjhpmjjfl2z9p36bxyw-tar-1.35/share/info:/gnu/store/vcmbby8alqahhhd5qnidpf5pbvr102jl-gzip-1.14/share/info:/gnu/store/d7q1jypzi0hjx0gf2034yzljvapy7fvy-diffutils-3.12/share/info:/gnu/store/nfs39m8hsbx905q5kgjiw1irfrllkk00-findutils-4.10.0/share/info:/gnu/store/xmqvvby6vlmhbi3q913ck5marh6p86av-gawk-5.3.0/share/info:/gnu/store/5a3p82yj9nrj6rhk11f7b2sb84wirc2k-sed-4.9/share/info:/gnu/store/1lkl6hik16bbhpjjsl825fivp2dsr9vi-grep-3.11/share/info:/gnu/store/pai3hvsiihllqi03b2198qi5qq9a28ga-coreutils-9.1/share/info:/gnu/store/jkxm9drwlxkmb53zn1sd7w2wxdvpbj32-make-4.4.1/share/info:/gnu/store/k66i68s5l93n1lgxp29vn2292nsywp1v-bash-minimal-5.2.37/share/info:/gnu/store/c8mp7qq5az7cbnvmxgj2bjkscsf5h9ri-binutils-2.44/share/info:/gnu/store/wssvk5s5akbx78kx92bdkirrry87jvbj-gcc-14.3.0/share/info:/gnu/store/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41/share/info'
environment variable `TREE_SITTER_GRAMMAR_PATH' unset
environment variable `BASH_LOADABLES_PATH' unset
environment variable `C_INCLUDE_PATH' set to `/gnu/store/cqa5y368y6lnrrz5klbqlmpcxd0zhz6v-emacs-30.2/include:/gnu/store/j2bib9ysq7f3369gjg6hv1kp24g07472-bzip2-1.0.8/include:/gnu/store/plifc9akxxfyjjbnh10dj350nxbhc399-file-5.46/include:/gnu/store/xmqvvby6vlmhbi3q913ck5marh6p86av-gawk-5.3.0/include:/gnu/store/gd41pn8r5723cyd6d79q9riqjbi070zz-xz-5.4.5/include:/gnu/store/jkxm9drwlxkmb53zn1sd7w2wxdvpbj32-make-4.4.1/include:/gnu/store/c8mp7qq5az7cbnvmxgj2bjkscsf5h9ri-binutils-2.44/include:/gnu/store/wssvk5s5akbx78kx92bdkirrry87jvbj-gcc-14.3.0/include:/gnu/store/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41/include:/gnu/store/90qwxdmdw7jdf0dkkgdgxln6b5a57kzx-linux-libre-headers-6.12.17/include'
environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/cqa5y368y6lnrrz5klbqlmpcxd0zhz6v-emacs-30.2/include:/gnu/store/j2bib9ysq7f3369gjg6hv1kp24g07472-bzip2-1.0.8/include:/gnu/store/plifc9akxxfyjjbnh10dj350nxbhc399-file-5.46/include:/gnu/store/xmqvvby6vlmhbi3q913ck5marh6p86av-gawk-5.3.0/include:/gnu/store/gd41pn8r5723cyd6d79q9riqjbi070zz-xz-5.4.5/include:/gnu/store/jkxm9drwlxkmb53zn1sd7w2wxdvpbj32-make-4.4.1/include:/gnu/store/c8mp7qq5az7cbnvmxgj2bjkscsf5h9ri-binutils-2.44/include:/gnu/store/wssvk5s5akbx78kx92bdkirrry87jvbj-gcc-14.3.0/include/c++:/gnu/store/wssvk5s5akbx78kx92bdkirrry87jvbj-gcc-14.3.0/include:/gnu/store/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41/include:/gnu/store/90qwxdmdw7jdf0dkkgdgxln6b5a57kzx-linux-libre-headers-6.12.17/include'
environment variable `OBJC_INCLUDE_PATH' set to `/gnu/store/cqa5y368y6lnrrz5klbqlmpcxd0zhz6v-emacs-30.2/include:/gnu/store/j2bib9ysq7f3369gjg6hv1kp24g07472-bzip2-1.0.8/include:/gnu/store/plifc9akxxfyjjbnh10dj350nxbhc399-file-5.46/include:/gnu/store/xmqvvby6vlmhbi3q913ck5marh6p86av-gawk-5.3.0/include:/gnu/store/gd41pn8r5723cyd6d79q9riqjbi070zz-xz-5.4.5/include:/gnu/store/jkxm9drwlxkmb53zn1sd7w2wxdvpbj32-make-4.4.1/include:/gnu/store/c8mp7qq5az7cbnvmxgj2bjkscsf5h9ri-binutils-2.44/include:/gnu/store/wssvk5s5akbx78kx92bdkirrry87jvbj-gcc-14.3.0/include:/gnu/store/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41/include:/gnu/store/90qwxdmdw7jdf0dkkgdgxln6b5a57kzx-linux-libre-headers-6.12.17/include'
environment variable `OBJCPLUS_INCLUDE_PATH' set to `/gnu/store/cqa5y368y6lnrrz5klbqlmpcxd0zhz6v-emacs-30.2/include:/gnu/store/j2bib9ysq7f3369gjg6hv1kp24g07472-bzip2-1.0.8/include:/gnu/store/plifc9akxxfyjjbnh10dj350nxbhc399-file-5.46/include:/gnu/store/xmqvvby6vlmhbi3q913ck5marh6p86av-gawk-5.3.0/include:/gnu/store/gd41pn8r5723cyd6d79q9riqjbi070zz-xz-5.4.5/include:/gnu/store/jkxm9drwlxkmb53zn1sd7w2wxdvpbj32-make-4.4.1/include:/gnu/store/c8mp7qq5az7cbnvmxgj2bjkscsf5h9ri-binutils-2.44/include:/gnu/store/wssvk5s5akbx78kx92bdkirrry87jvbj-gcc-14.3.0/include/c++:/gnu/store/wssvk5s5akbx78kx92bdkirrry87jvbj-gcc-14.3.0/include:/gnu/store/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41/include:/gnu/store/90qwxdmdw7jdf0dkkgdgxln6b5a57kzx-linux-libre-headers-6.12.17/include'
environment variable `LIBRARY_PATH' set to `/gnu/store/cqa5y368y6lnrrz5klbqlmpcxd0zhz6v-emacs-30.2/lib:/gnu/store/d9d9hy6bzqwwnl0sixhrl7a3yi1rvqz2-emacs-buttercup-1.38/lib:/gnu/store/fgziw48zffghq6nlir9c6cjwrkwas30s-emacs-dash-2.20.0/lib:/gnu/store/x1g184gvjki184ryh3mvc92gy5l0q3bl-emacs-pkg-info-0.6/lib:/gnu/store/j2bib9ysq7f3369gjg6hv1kp24g07472-bzip2-1.0.8/lib:/gnu/store/plifc9akxxfyjjbnh10dj350nxbhc399-file-5.46/lib:/gnu/store/xmqvvby6vlmhbi3q913ck5marh6p86av-gawk-5.3.0/lib:/gnu/store/gd41pn8r5723cyd6d79q9riqjbi070zz-xz-5.4.5/lib:/gnu/store/c8mp7qq5az7cbnvmxgj2bjkscsf5h9ri-binutils-2.44/lib:/gnu/store/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41/lib:/gnu/store/q1s19kv8bdq9ssfdgznzgkmfmj90vdfd-glibc-2.41-static/lib:/gnu/store/x3nq7fmr39cdh7d5ijpccyb1zcw6z5my-emacs-epl-0.9/lib'
environment variable `GUIX_LOCPATH' set to `/gnu/store/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41/lib/locale'
environment variable `TZDIR' unset
phase `set-paths' succeeded after 0.0 seconds
starting phase `install-locale'
using 'C.UTF-8' locale for category "LC_ALL"
phase `install-locale' succeeded after 0.0 seconds
starting phase `unpack'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/.dir-locals.el' -> `./.dir-locals.el'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/.gitignore' -> `./.gitignore'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/CHANGELOG.md' -> `./CHANGELOG.md'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/CONTRIBUTING.md' -> `./CONTRIBUTING.md'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/Eldev' -> `./Eldev'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/README.md' -> `./README.md'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/projectile.el' -> `./projectile.el'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/LICENSE' -> `./LICENSE'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/test/.gitignore' -> `./test/.gitignore'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/test/projectile-test.el' -> `./test/projectile-test.el'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/test/tmp/README' -> `./test/tmp/README'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/doc/antora.yml' -> `./doc/antora.yml'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/doc/modules/ROOT/nav.adoc' -> `./doc/modules/ROOT/nav.adoc'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/doc/modules/ROOT/pages/configuration.adoc' -> `./doc/modules/ROOT/pages/configuration.adoc'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/doc/modules/ROOT/pages/contributing.adoc' -> `./doc/modules/ROOT/pages/contributing.adoc'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/doc/modules/ROOT/pages/extensions.adoc' -> `./doc/modules/ROOT/pages/extensions.adoc'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/doc/modules/ROOT/pages/faq.adoc' -> `./doc/modules/ROOT/pages/faq.adoc'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/doc/modules/ROOT/pages/index.adoc' -> `./doc/modules/ROOT/pages/index.adoc'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/doc/modules/ROOT/pages/installation.adoc' -> `./doc/modules/ROOT/pages/installation.adoc'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/doc/modules/ROOT/pages/projectile_vs_project.adoc' -> `./doc/modules/ROOT/pages/projectile_vs_project.adoc'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/doc/modules/ROOT/pages/projects.adoc' -> `./doc/modules/ROOT/pages/projects.adoc'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/doc/modules/ROOT/pages/troubleshooting.adoc' -> `./doc/modules/ROOT/pages/troubleshooting.adoc'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/doc/modules/ROOT/pages/usage.adoc' -> `./doc/modules/ROOT/pages/usage.adoc'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/doc/modules/ROOT/assets/images/projectile-demo.gif' -> `./doc/modules/ROOT/assets/images/projectile-demo.gif'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/.github/FUNDING.yml' -> `./.github/FUNDING.yml'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/.github/ISSUE_TEMPLATE.md' -> `./.github/ISSUE_TEMPLATE.md'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/.github/PULL_REQUEST_TEMPLATE.md' -> `./.github/PULL_REQUEST_TEMPLATE.md'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/.github/workflows/stale.yml' -> `./.github/workflows/stale.yml'
`/gnu/store/j6lk7cxjww373r15n2azd3vvvj0h8i7v-emacs-projectile-2.9.1-checkout/.github/workflows/test.yml' -> `./.github/workflows/test.yml'
phase `unpack' succeeded after 0.0 seconds
starting phase `patch-el-files'
phase `patch-el-files' succeeded after 0.0 seconds
starting phase `expand-load-path'
source directory "/tmp/guix-build-emacs-projectile-2.9.1.drv-0/source" prepended to the `EMACSLOADPATH' environment variable
expanded load paths for buttercup-1.38, dash-2.20.0, pkg-info-0.6, epl-0.9
phase `expand-load-path' succeeded after 0.0 seconds
starting phase `add-install-to-native-load-path'
phase `add-install-to-native-load-path' succeeded after 0.0 seconds
starting phase `make-autoloads'
  INFO     Scraping 1 files for loaddefs... 
  INFO     Scraping 1 files for loaddefs...done
  GEN      projectile-autoloads.el
phase `make-autoloads' succeeded after 0.1 seconds
starting phase `ensure-package-description'
projectile-pkg.el file generated.
phase `ensure-package-description' succeeded after 0.1 seconds
starting phase `patch-usr-bin-file'
phase `patch-usr-bin-file' succeeded after 0.0 seconds
starting phase `patch-source-shebangs'
phase `patch-source-shebangs' succeeded after 0.0 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `fix-failing-test'
phase `fix-failing-test' succeeded after 0.0 seconds
starting phase `check'
Running tests on Emacs 30.2
Loading /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/projectile.el (source)...
Warning (buttercup-describe): Possible erroneous use of special variable `projectile-known-projects-file' in :var(*) form
Running 196 specs.

projectile-project-name
  return projectile-project-name when present (1.17ms)
  uses projectile-project-name-function to get the project name from the project dir (0.04ms)
  acts on the current project is not passed a project dir explicitly (0.03ms)

projectile-prepend-project-name
  prepends the project name to its parameter (0.03ms)

projectile-expand-root
  expands a relative path into an absolute path within a project (0.09ms)

projectile-expand-file-name-wildcard
  expands a filename not containing wildcards (0.04ms)
  does not try to resolve wildcards if there are none in the pattern (0.06ms)
  returns the first wildcard result if any exist (0.03ms)
  returns the expanded result if the are no wildcard results (0.06ms)

projectile--combine-plists
  Items in second plist override elements in first (0.03ms)
  Nil elements in second plist override elements in first (0.03ms)

projectile-register-project-type
  prepends new projects to projectile-project-types (0.08ms)

projectile-update-project-type
  Updates existing project type in projectile-project-types (0.15ms)
  Updates existing project type with nil value (0.08ms)
  Updates existing project type using all options (0.09ms)
  Error when attempt to update nonexistent project type (0.05ms)
  changes project type precedence (0.70ms)
  errors if :precedence not valid (0.05ms)

projectile-project-type
  detects the type of Projectile's project (8.29ms)
  caches the project type (0.54ms)
  detects the type of Projectile's project when it is passed as args (8.62ms)
  override by projectile-project-type
    is respected when no DIR is passed (0.03ms)
    has no effect when DIR is passed (0.66ms)

projectile-ignored-directory-p
  checks if directory should be ignored (0.08ms)

projectile-ignored-file-p
  checks if file should be ignored (0.04ms)

projectile-ignored-files
  returns list of ignored files (0.15ms)

projectile-ignored-directories
  returns list of ignored directories (0.15ms)

projectile-project-ignored-files
  returns list of project ignored files (0.05ms)

projectile-project-ignored-directories
  returns list of project ignored directories (0.04ms)

projectile-project-ignored
  returns list of ignored files/directories (0.05ms)

projectile-remove-ignored
  removes ignored folders and files (0.15ms)

projectile-add-unignored
  requires explicitly unignoring files inside ignored paths (62.36ms)
  returns the list of globally unignored files on an unsupported VCS (23.43ms)
  requires explicitly unignoring ignored files inside unignored paths (84.93ms)

projectile-parse-dirconfig-file
  parses dirconfig and returns directories to ignore and keep (0.22ms)

projectile-get-project-directories
  gets the list of project directories (0.04ms)
  gets the list of project directories with dirs to keep (0.04ms)

projectile-dir-files
  fails unless directory exists (0.04ms)
  lists the files in directory and sub-directoriesProjectile is indexing /my/root/ \ 
  lists the files in directory and sub-directories (7.03ms)

projectile-get-sub-projects-command
  gets sub projects command for git (0.03ms)
  returns empty when vcs is not supported (0.03ms)

projectile-files-via-ext-command
  returns nil when command is nil or empty or fails (5.73ms)
  supports magic file handlers (1.57ms)

projectile-mode
  sets up hook functions (0.12ms)

projectile-relevant-known-projects
  returns a list of known projects (0.04ms)

projectile--cleanup-known-projects
  removes known projects that don't exist anymore (1.15ms)

projectile-project-root
  returns the absolute root directory of a project (2.73ms)

projectile-tags-exclude-patterns
  returns a string with exclude patterns for ctags (0.13ms)

projectile-maybe-invalidate-cache
  should not invalidate cache if dirconfig is older than cache (0.17ms)
  should invalidate cache if force is t (0.02ms)
  should invalidate cache if dirconfig is newer than cache (0.16ms)

projectile-root-top-down
  identifies the root directory of a project by top-down search (1.04ms)

projectile-root-top-down-recurring
  identifies the root directory of a project by recurring top-down search (1.87ms)

projectile-root-bottom-up
  identifies the root directory of a project by bottom-up search (2.01ms)

projectile-project-root
  returns the root directory of a project (11.55ms)
  caches permanent failure to find a project root (1.54ms)
  does not cache transitory failure to find a project root (0.42ms)

projectile-file-exists-p
  returns t if file exists (0.85ms)
  caches the results (1.33ms)

projectile-project-root
  caches the current fileFile file2.el added to project /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ cache.
File file3.el added to project /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ cache.
File file4.el added to project /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ cache.
  caches the current file (19.35ms)
  ensures that we update the cache if it's expiredProjectile is initializing cache for /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ ...
  ensures that we update the cache if it's expired (5.22ms)
  ensures that we don't cache a project root if the path has changed. (0.99ms)

projectile-grep
  multi-root grep
    grep multi-root projects

    grep multi-root projects (27.60ms)
  rgrep
    excludes global ignores
    excludes global ignores (5.80ms)
    excludes project ignores
    excludes project ignores (7.85ms)
  grep a git project using default files (25.64ms)

projectile-switch-project
  fails if there are no projects (0.04ms)

projectile-delete-dir-local-variable
  Deletes existing dir-local variables (6.68ms)

projectile-add-dir-local-variable
  Adds new dir-local variables (3.26ms)

projectile-add-dir-local-variable
  Fails when there is no projectile project (0.97ms)h to project: 

projectile-delete-dir-local-variable
  Fails when there is no projectile project (0.15ms)

projectile-switch-project-by-name
  calls the switch project action with project-to-switch's dir-locals loadedProjectile cache ’/homeless-shelter/.emacs.d/projectile-bookmarks.eld’ not writeable
  calls the switch project action with project-to-switch's dir-locals loaded  FAILED (0.91ms)
  runs hooks from the project root directoryProjectile cache ’/homeless-shelter/.emacs.d/projectile-bookmarks.eld’ not writeable
  runs hooks from the project root directory (2.87ms)
  ensures the buffer is switched immediatelyProjectile cache ’/homeless-shelter/.emacs.d/projectile-bookmarks.eld’ not writeable
  ensures the buffer is switched immediately (1.05ms)

projectile-ignored-buffer-p
  checks if buffer should be ignored (0.08ms)

projectile-get-other-files
  returns files with same names but different extensionsProjectile is initializing cache for /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ ...
Projectile is indexing /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ \ 
  returns files with same names but different extensions (24.32ms)
  returns files based on the paths returned by :related-files-fn optionProjectile is initializing cache for /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ ...
Projectile is indexing /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ \ 
  returns files based on the paths returned by :related-files-fn option (5.11ms)
  returns files based on the predicate returned by :related-files-fn optionProjectile is initializing cache for /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ ...
Projectile is indexing /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ \ 
  returns files based on the predicate returned by :related-files-fn option (4.05ms)

projectile-compilation-dir
  returns the compilation directory for a project (0.19ms)
  returns the default compilation dir based on project-type (0.11ms)
  should not fail on bad compilation dir config (20.13ms)

projectile-default-compilation-command
  returns the default compilation command for project-type (0.07ms)
  fails on bad project-type config (0.04ms)

projectile-detect-project-type
  detects project-type for rails-like npm tests (1.68ms)
  detects project-type for elisp eldev projects (1.31ms)
  detects project-type for dotnet sln projects (1.69ms)
  detects project-type for Julia PkgTemplates.jl projects (0.78ms)
  detects project-type for Zig projects (0.78ms)

projectile-dirname-matching-count
  counts matching dirnames ascending file paths (0.07ms)

projectile--find-matching-test
  finds matching test or fileProjectile is initializing cache for /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ ...
Projectile is indexing /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ \ 
  finds matching test or file (3.71ms)
  finds matching test or file with dirs (1.88ms)
  finds matching test with dirs and inexistent test file (1.55ms)
  finds matching test or file based on the paths returned by :related-files-fn optionProjectile is initializing cache for /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ ...
Projectile is indexing /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ \ 
  finds matching test or file based on the paths returned by :related-files-fn option (4.47ms)
  finds matching test or file by the predicate returned by :related-files-fn optionProjectile is initializing cache for /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ ...
Projectile is indexing /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ \ 
  finds matching test or file by the predicate returned by :related-files-fn option (3.54ms)
  defers to test-dir property when it's set to a function (1.27ms)
  defers to src-dir property when it's set to a function (1.32ms)
  defers to a fallback using "src" and "test"Projectile is initializing cache for /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ ...
Projectile is indexing /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ \ 
  defers to a fallback using "src" and "test" (3.64ms)

projectile--related-files
  returns related files for the given fileProjectile is initializing cache for /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ ...
Projectile is indexing /tmp/guix-build-emacs-projectile-2.9.1.drv-0/source/test/sandbox/project/ \ 
  returns related files for the given file (3.31ms)

projectile--merge-related-files-fns
  returns a new function which returns the merged plist from each fn (0.09ms)

projectile-related-files-fn-groups
  generate related files fn which relates members of each group as a specified kind (0.08ms)

projectile-related-files-fn-extensions
  generate related files fn which relates files with the given extnsions (0.12ms)

projectile-related-files-fn-tests-with-prefix
  generate related files fn which relates tests and impl based on extension and prefix (0.13ms)

projectile-related-files-fn-tests-with-suffix
  generate related files fn which relates tests and impl based on extension and suffix (0.13ms)

projectile--related-files-plist-by-kind
  when :related-files-fn returns paths
    returns a plist containing :paths only with the existing files on file system without duplication (0.86ms)
  when :related-files-fn returns one predicate
    returns a plist containing :predicate with the same predicate (0.60ms)
  when :related-files-fn returns multiple predicates
    returns a plist containing :predicate with a merging predicate (0.66ms)
  when :related-files-fn returns both paths and predicates
    returns a plist containing both :paths and :predicates (0.62ms)
  when :related-files-fn is a list of functions
    returns a plist containing the merged results (0.82ms)

projectile-get-all-sub-projects
  excludes out-of-project submodules (1.39ms)

projectile-get-all-sub-projects-files
  returns relative paths to submodule files (0.05ms)

projectile-configure-command
  configure command for generic project type (0.02ms)

projectile-add-known-project
  an added project should be added to the list of known projects (0.25ms)
  adding a project should move it to the front of the list of known projects, if it already existed. (0.23ms)
  ~/project and ~/project/ should not be added separately to the known projects list (0.66ms)

projectile-load-known-projects
  loads known projects through serialization functions (0.04ms)

projectile-merge-known-projects
  merges known projects (0.60ms)
  merges known projects to an empty file (0.59ms)
  merges known projects from an empty file (0.57ms)
  merges known projects while keeping their order (0.56ms)

projectile-save-known-projects
  saves known projects through serialization functions (0.02ms)

projectile-serialization-functions
  tests that serialization functions can save/restore data to the filesystem (0.26ms)

projectile-clear-known-projects
  clears known projects (0.17ms)

projectile-reset-known-projects
  resets known projects (0.02ms)

projectile-test-ignored-directory-p
  ignores specified directory values (0.05ms)
  ignores specified directory values with characters that need to be escaped (0.04ms)

projectile-relevant-known-projects
  when projectile-current-project-on-switch is 'remove
    removes the current project (0.04ms)
  when projectile-current-project-on-switch is 'move-to-end
    moves the current project to the end of projectile-known-projects (0.04ms)
  when projectile-current-project-on-switch is 'keep
    returns projectile-known-projects (0.05ms)

projectile-relevant-open-projects
  when projectile-current-project-on-switch is 'remove
    removes the current project (0.03ms)
  when projectile-current-project-on-switch is 'move-to-end
    moves the current project to the end of projectile-known-projects (0.03ms)
  when projectile-current-project-on-switch is 'keep
    returns projectile-open-projects (0.03ms)

projectile-default-mode-line
  includes the project name and type when in a project (0.02ms)
  returns also a - if called outside a project (0.02ms)
  respects the value of projectile-mode-line-prefix (0.02ms)

projectile--directory-p
  tests which directory exists (0.07ms)

projectile-find-file-in-directory
  fails when called in a non-existing directory (0.03ms)

projectile-dir-files-native
  calculates ignored files and directories only once during recursionProjectile is indexing projectA/ \ 
  calculates ignored files and directories only once during recursion (32.33ms)
  ignores globally ignored directories when using native indexingProjectile is indexing project... \ 
  ignores globally ignored directories when using native indexing (14.56ms)

projectile-process-current-project-buffers-current
  expects projectile-process-current-project-buffers and
projectile-process-current-project-buffers-current to have similar behaviour (6.29ms)

projectile-project-buffers
  return project buffers (4.64ms)

projectile--impl-name-for-test-name
  removes suffix from test file (0.05ms)
  removes prefix from test file (0.03ms)

projectile-find-implementation-or-test
  error when test file does not exist and projectile-create-missing-test-files is nil (0.04ms)

projectile--impl-file-from-src-dir-fn
  returns result of projectile--complementary-file when src-dir property is a function (0.04ms)
  returns file relative to project root (0.04ms)
  returns nil when src-dir property is a not function (0.03ms)
  returns nil when src-dir function result is not an existing file (0.03ms)

projectile--test-file-from-test-dir-fn
  returns result of projectile--complementary-file when test-dir property is a function (0.03ms)
  returns file relative to project root (0.04ms)
  returns nil when test-dir property is a not function (0.03ms)

projectile--complementary-file
  dir-fn and filename-fn applied correctly (0.04ms)

projectile--impl-to-test-dir
  replaces occurrences of src-dir with test-dir (0.07ms)
  nil returned when test-dir property is not a string (0.03ms)
  error when src-dir not a substring of impl file (0.03ms)

projectile--test-to-impl-dir
  replaces occurrences of test-dir with src-dir (0.07ms)
  nil returned when src-dir property is not a string (0.03ms)
  error when test-dir not a substring of test file (0.02ms)

projectile-run-shell-command-in-root
  when called directly in elisp
    when called with all three parameters
      expects to call shell-command with the same parameters (3.87ms)
    when called with only one optional parameter
      expects to call shell-command with the same parameters (1.06ms)
    when called with no optional parameters
      expects to call shell-command with the same parameters (1.04ms)
  when called interactively
    expects to be interactive (0.03ms)
    expects to call shell-command with the given command (1.06ms)

projectile-run-async-shell-command-in-root
  when called directly in elisp
    when called with all three parameters
      expects to call async-shell-command with the same parameters (1.09ms)
    when called with only one optional parameter
      expects to call async-shell-command with the same parameters (1.03ms)
    when called with no optional parameters
      expects to call async-shell-command with the same parameters (1.03ms)
  when called interactively
    expects to be interactive (0.03ms)
    expects to call async-shell-command with the given command (1.06ms)

projectile--run-project-cmd
  projectile-cmd-hist-ignoredups set to t (6.74ms)
  projectile-cmd-hist-ignoredups set to erase (6.72ms)

projectile-test-prefix
  gets set test-prefix (0.03ms)
  uses local override (0.02ms)

projectile-test-suffix
  gets set test-suffix (0.02ms)
  uses local override (0.02ms)

projectile-related-files-fn
  gets set related-files-fn (0.02ms)
  uses local override (0.02ms)

projectile-test-directory
  gets set test directory (0.02ms)
  uses local override (0.02ms)

projectile-src-directory
  gets set src directory (0.02ms)
  uses local override (0.02ms)

when calling projectile-project-info without a project
  throws a friendly error (67.14ms)

when calling projectile-display-buffer without a project
  throws a friendly error (1.84ms)

when calling projectile-find-implementation-or-test-other-frame without a project
  throws a friendly error (1.83ms)

when calling projectile-find-implementation-or-test-other-window without a project
  throws a friendly error (1.80ms)

when calling projectile-find-other-file without a project
  throws a friendly error (1.82ms)

when calling projectile-find-other-file-other-frame without a project
  throws a friendly error (1.80ms)

when calling projectile-find-other-file-other-window without a project
  throws a friendly error (1.82ms)

when calling projectile-find-test-file without a project
  throws a friendly error (1.82ms)

when calling projectile-grep without a project
  throws a friendly error (1.84ms)

when calling projectile-ibuffer without a project
  throws a friendly error (1.80ms)

when calling projectile-project-buffers-other-buffer without a project
  throws a friendly error (1.83ms)

when calling projectile-project-info without a project
  throws a friendly error (1.80ms)

when calling projectile-regenerate-tags without a project
  throws a friendly error (1.81ms)

when calling projectile-remove-current-project-from-known-projects without a project
  throws a friendly error (1.81ms)

when calling projectile-switch-to-buffer without a project
  throws a friendly error (1.81ms)

when calling projectile-switch-to-buffer-other-frame without a project
  throws a friendly error (1.84ms)

when calling projectile-switch-to-buffer-other-window without a project
  throws a friendly error (1.84ms)

========================================
projectile-switch-project-by-name calls the switch project action with project-to-switch's dir-locals loaded

Traceback (most recent call last):
  (let ((foo 'bar) (switch-project-foo) (safe-local-variable-values '((foo ....
  (let ((sandbox (expand-file-name (convert-standard-filename "test/sandbox/...
  (let ((default-directory sandbox)) (progn (make-directory "project/" t) (l...
  (progn (make-directory "project/" t) (let ((dir (file-name-directory "proj...
  projectile-switch-project-by-name("/tmp/guix-build-emacs-projectile-2.9.1....
  (let ((switch-project-action (if arg 'projectile-commander projectile-swit...
  (let* ((default-directory project-to-switch) (switched-buffer (let ((temp-...
  (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffe...
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (hack...
  (unwind-protect (progn (hack-dir-local-variables-non-file-buffer) (let ((p...
  (progn (hack-dir-local-variables-non-file-buffer) (let ((projectile-projec...
  (let ((projectile-project-name (funcall projectile-project-name-function p...
  funcall(#[nil ((setq switch-project-foo foo)) (t)])
  #[nil ((setq switch-project-foo foo)) (t)]()
  (setq switch-project-foo foo)
error: (void-variable foo)

Ran 196 specs, 1 failed, in 618.79ms.
buttercup-run failed: ""
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "buttercup" arguments: ("-L" ".") exit-status: 255 term-signal: #f stop-signal: #f> 
phase `check' failed after 0.8 seconds
command "buttercup" "-L" "." failed with status 255
build process 18 exited with status 256
--8<---------------cut here---------------end--------------->8---

-- 
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.




This bug report was last modified 6 days ago.

Previous Next


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