Skip to content

Branch scanner incorrectly serves as fallback scanner #186

@KarlJoad

Description

@KarlJoad

I just came across this package and want to start using it. But, I am hitting one final little snafu when using magit-todos. When opening or refreshing the magit-status buffer, I get the following error raised (Actual todo items removed for reading clarity). Despite the error being raised, TODOs and FIXMEs still show up in magit-status.

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  propertize(nil face magit-section-heading)
  magit-todos--insert-items(#<buffer magit: vcode-rocc> (#s(magit-todos-item :filename ...)) :branch-p t)
  magit-todos--git-diff-callback(:callback magit-todos--insert-items :magit-status-buffer #<buffer magit: vcode-rocc> :results-regexp "\\(?:^\\(?8:[^:]+\\):\\(?2:[[:digit:]]+\\):\\(?:\\(?1:\\*+..." :search-regexp-elisp "\\(?:^\\(\\*+\\)[[:blank:]]+\\(\\(?:DONT\\|F\\(?:AIL\\|IXME..." :heading nil :exclude-globs (".git/") :process #<process magit-todos--scan-with-git-diff>)
  apply(magit-todos--git-diff-callback (:callback magit-todos--insert-items :magit-status-buffer #<buffer magit: vcode-rocc> :results-regexp "\\(?:^\\(?8:[^:]+\\):\\(?2:[[:digit:]]+\\):\\(?:\\(?1:\\*+..." :search-regexp-elisp "\\(?:^\\(\\*+\\)[[:blank:]]+\\(\\(?:DONT\\|F\\(?:AIL\\|IXME..." :heading nil :exclude-globs (".git/") :process #<process magit-todos--scan-with-git-diff>))
  #f(compiled-function (&rest args2) #<bytecode -0x1e20688d4a326bd1>)(#<process magit-todos--scan-with-git-diff>)
  magit-todos--async-when-done(#<process magit-todos--scan-with-git-diff> "finished\n")

I did some debugging, and came across Issue #171, which helped solve this by having me specify the git clone depth to elpaca, (:depth nil). Despite this fix, I still run into this insert-items issue.

I have attempted to create a minimum-reproducible example, and have attached a lockfile alongside it, to make sure others can test it.

Relevant Emacs configuration information (I am using emacs-pgtk from Guix):

GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0)
"CONFIG_SHELL=/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16/bin/bash SHELL=/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16/bin/bash --prefix=/gnu/store/pmzlw58r74703schh4b58lm302dm58dr-emacs-pgtk-29.4 --enable-fast-install --with-pgtk --with-cairo --with-modules --with-native-compilation=aot --disable-build-details"

$ guix describe
Generation 37	Jul 23 2024 19:50:16	(current)
  guix d007b64
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: d007b64356764f49677c78d82643f1125b5353b7

The MRE init.el and elpaca lockfile are attached as text files (because of GitHub upload reasons).
elpaca.lock.txt
init.el.txt
Elpaca sometimes makes Emacs hang when fetching repository information and updating some of the built-in packages. I don't know why this happens. Try deleting things from elpaca/ until things work. I can confirm that this MRE does build with just emacs --init-directory="$PWD", where this init.el is in $PWD.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions