$E_FN crashes or uses the wrong file outside :ExecutorRun

Ouverte Adaptée aux débutants
#45 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
76/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
lua, neovim
Domaine
devtools

Piste de recherche

Commencez par lire run_one_off_cmd, set_task_command et get_relative_buffer_name, où l’issue signale un chemin de buffer obsolète ou nil. Reproduisez les deux cas dans Neovim : exécutez :ExecutorOneOff avant :ExecutorRun, puis exécutez-le depuis un autre buffer après :ExecutorRun. Mettez à jour la sélection du buffer pour les chemins concernés et vérifiez que $E_FN utilise le fichier actuel sans planter.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

:ExecutorRun records the current buffer, and $E_FN uses that recorded buffer. Other ways of running or setting a command do not record it first, so $E_FN either crashes or uses the wrong file.

Steps to reproduce

Crash

  1. Start Neovim and open any file.
  2. Before running :ExecutorRun, run :ExecutorOneOff echo $E_FN.
  3. The command fails with Invalid 'buf': Expected Lua number. The error comes from nvim_buf_get_name(nil) in get_relative_buffer_name.

Wrong file

  1. Open a.js and run :ExecutorRun once.
  2. Switch to b.js.
  3. Run :ExecutorOneOff echo $E_FN. The command runs on a.js instead of b.js.

Affected paths

last_active_buf_id is set only in Executor.run(). These paths read it before it is set, or after it has gone stale:

  • :ExecutorOneOff (run_one_off_cmd).
  • Choosing a preset. set_task_command runs before Executor.run() records the buffer.
  • Choosing an entry from the history picker. This path also calls set_task_command before Executor.run().
  • require("executor").api.set_task_command and api.run_task.

Possible fix

Record the current buffer in run_one_off_cmd and set_task_command. Alternatively, read the current buffer directly when last_active_buf_id is nil.

Langage dominant
Lua
Étoiles
161
Forks
12
Merge moyen
25 min
PR mergées (30 j)
1

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de google/executor.nvim

Toutes les issues de google/executor.nvim

Issues similaires

Plus d'issues Lua

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.