macvim-dev / macvim-dev/macvim
`macaction terminate:` (also quit via Cmd-q/logout/reboot) ignores `set confirm`
Personne n'a encore pris cette issue.
- Langage dominant
- Vim Script
- Étoiles
- 7.9k
- Forks
- 691
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Steps to reproduce
- Run
set confirm - Create a few buffers with unsaved changes (doesn't matter if the buffers are backed by files or not).
- Run command
macaction terminate:, or press Cmd-Q, or reboot machine.
Expected behaviour
The setting set confirm should prompt for each unsaved buffer whether you are okay with discarding changes. However, macaction terminate: completely ignores this setting, and just shows a dialog that doesn't mention any file names:
Quit without saving?
There are modified buffers, if you quit now all changes will be lost. Quit anyway?
It appears that macaction terminate: skips a lot of normal Vim exit code as well - autocommands like VimLeavePre do not run.
Version of MacVim
r181
MacVim installation method
GitHub release
Environment
macOS 15.4.1 Sequoia
Logs and stack traces
N/A
Vim and MacVim configuration where issue is reproducable
Doesn't appear to depend on config. I tested both with mvim --clean and my usual config, https://github.com/telotortium/vimrc
How was MacVim launched?
- by launching MacVim.app in macOS (by using the Dock, Spotlight, or the
opencommand) - by running mvim/gvim in the terminal
Issue has been tested with clean configuration
- by running
mvim --clean(orgvim, supplied by MacVim distribution). You can also use the File → "New Clean Window" menu item within MacVim. - by running
vim --clean(in terminal, supplied by MacVim distribution) - by running
vim --clean(in terminal, other suppliers, e.g. /usr/bin/vim)
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le traitement de macaction terminate: et comparez-le au chemin de sortie normal de Vim, en utilisant les chemins Cmd-Q et déconnexion/redémarrage signalés comme cas de reproduction. Reproduisez le problème avec mvim --clean, set confirm et des buffers non enregistrés ; le travail est terminé lorsque chaque buffer est confirmé et que VimLeavePre s’exécute pendant la terminaison.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- macos, vim
- Domaine
- desktop
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 38/100