Although I cannot replicate the problem here and it would be good to know your operating system, magit does run an extensive amount of code in the hook run after a major mode is set. Hyrolo generally has no need for magit to run its hooks on its file buffers, so maybe we ought to just filter these hooks out so they don't run during Hyrolo searches. I would report this as an issue on the Magit github site as well, with more detail of your versions. I will look at a fix within Hyperbole. Thanks for pointing it out.
On Tue, Feb 11, 2020 at 3:18 PM <gravityp...@posteo.de> wrote: > Good afternoon! > > Was messing around with the most recent release, and found what may or > may be a bug -- or possibly just a bad interaction -- between Magit and > Rolo's word search > > Basically, when I search for anything (say, "test") in Rolo currently, > everything freezes and stays frozen until I quit. Normally, a search > through all of the rolo files I've got takes about two seconds. > > Now, based on the error log below, it appears that the search process > isn't *actually* trapped in an infinite loop -- it's just taking an > eternity to go into each file, search, and move on, because of some sort > of interaction with Magit. > > > Debugger entered--Lisp error: (quit) > > magit-toplevel() > > magit-turn-on-auto-revert-mode-if-desired() > > magit-auto-revert-mode-enable-in-buffers() > > run-hooks(change-major-mode-after-body-hook > > after-change-major-mode-hook) > > normal-mode(t) > > after-find-file(nil nil) > > find-file-noselect-1(#<buffer APRO-1801081915-Characters and > > Choices.org> "~/Org/APRO-1801081915-Characters and Choices.org" t nil > > "~/Org/APRO-1801081915-Characters and Choices.org" (1688849861014569 > > 2463307494)) > > find-file-noselect("e:/Home/Org/APRO-1801081915-Characters and > > Choices.org" t) > > hyrolo-grep-file("e:/Home/Org/APRO-1801081915-Characters and > > Choices.org" "\\btest\\b" nil nil) > > hyrolo-grep("\\btest\\b" nil nil nil nil) > > hyrolo-word("test" nil) > > funcall-interactively(hyrolo-word "test" nil) > > #<subr call-interactively>(hyrolo-word) > > apply(#<subr call-interactively> hyrolo-word nil) > > call-interactively@ido-cr+-record-current-command(#<subr > > call-interactively> hyrolo-word) > > apply(call-interactively@ido-cr+-record-current-command #<subr > > call-interactively> hyrolo-word) > > call-interactively(hyrolo-word) > > hui:menu-act(hyperbole nil nil nil) > > hyperbole(nil nil nil nil) > > funcall-interactively(hyperbole nil nil nil nil) > > #<subr call-interactively>(hyperbole nil nil) > > apply(#<subr call-interactively> hyperbole (nil nil)) > > call-interactively@ido-cr+-record-current-command(#<subr > > call-interactively> hyperbole nil nil) > > apply(call-interactively@ido-cr+-record-current-command #<subr > > call-interactively> (hyperbole nil nil)) > > call-interactively(hyperbole nil nil) > > command-execute(hyperbole) > > > > This happens on a blank init that only loads Hyperbole and Magit, so > it's got to be something that's happening with a default install of both > Magit and Hyperbole. > >