You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a pretty minor bug that I noticed but thought was worth reporting.
Steps to reproduce
Customise magit-todos-update to either nil (manual updates) or a number of seconds to cache.
Run manual magit-todos-update to scan for TODOs.
An error occurs while running the process (for example, rg reports permission denied error for a file in the repo working directory).
Expected behaviour
Afterwards, refreshing magit status will continue to not automatically scan for to-dos (as per the magit-todos-update selection).
Observed behaviour
Afterwards, refreshing magit status will trigger a new scan each time, behaving as if magit-todos-update was set to t.
Analysis
Local variable magit-todos-updating is set to t before evaluating magit-todos--async-start-process. It is only set to nil again by the finish-func callback (and this only runs if the process succeeds.)
If there's an error then the magit-todos-updating stays t until/unless the scan process re-runs and succeeds. This causes the magit status callback to be treated as a manual update each time.
The text was updated successfully, but these errors were encountered:
This is a pretty minor bug that I noticed but thought was worth reporting.
Steps to reproduce
magit-todos-update
to eithernil
(manual updates) or a number of seconds to cache.magit-todos-update
to scan for TODOs.rg
reports permission denied error for a file in the repo working directory).Expected behaviour
Afterwards, refreshing magit status will continue to not automatically scan for to-dos (as per the
magit-todos-update
selection).Observed behaviour
Afterwards, refreshing magit status will trigger a new scan each time, behaving as if
magit-todos-update
was set tot
.Analysis
magit-todos-updating
is set tot
before evaluatingmagit-todos--async-start-process
. It is only set tonil
again by thefinish-func
callback (and this only runs if the process succeeds.)magit-todos-updating
stayst
until/unless the scan process re-runs and succeeds. This causes the magit status callback to be treated as a manual update each time.The text was updated successfully, but these errors were encountered: