alphapapa / alphapapa/magit-todos

Error in process execution forces automatic scanning on status update

Aperta
#158 2 commenti 0 reazioni 1 assegnatario Rivendicata da @alphapapa Vedi su GitHub
bug
Lingua principale
Emacs Lisp
Stelle
791
Fork
54
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.