macvim-dev / macvim-dev/macvim

`macaction terminate:` (also quit via Cmd-q/logout/reboot) ignores `set confirm`

Aperta
#1,579 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Vim Script
Stelle
7.9k
Fork
691
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Steps to reproduce
  1. Run set confirm
  2. Create a few buffers with unsaved changes (doesn't matter if the buffers are backed by files or not).
  3. 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 open command)
  • by running mvim/gvim in the terminal
Issue has been tested with clean configuration
  • by running mvim --clean (or gvim, 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)

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dalla gestione di macaction terminate: e confrontala con il normale percorso di uscita di Vim, usando i percorsi Cmd-Q e logout/riavvio segnalati come casi di riproduzione. Riproduci il problema con mvim --clean, set confirm e buffer non salvati; il lavoro è completato quando ogni buffer viene confermato e VimLeavePre viene eseguito durante la terminazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
macos, vim
Ambito
desktop
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.